{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [],
   "source": [
    "year=2019\n",
    "month=6"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Developer Salary in First-Tier Cities 程序员工资调查\n",
    "我在4月1日到3日之间，抓取了某招聘网站的软件和互联网类招聘数据40万条，其中通过程序判断为程序员的14万条。地域方面，我选择了24个主要城市。不过本文只以一线城市为研究对象。这样是为了和我2017年6月的数据做对比。\n",
    "\n",
    "提到2017年的文章，现在居然还有很多人，把这篇文章拿出来炒作。对于社会来说，可气的是，他们直接把2017改成2019，就发表了，这不是骗人么？！对于我来说，可气的是，他们转载居然还冒充是原创，是可忍熟不可忍！"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [],
   "source": [
    "import pandas as pd\n",
    "import sys\n",
    "sys.path.append('..')\n",
    "sys.path.append('../py')\n",
    "sys.path.append('../../py')\n",
    "import db\n",
    "import inspect\n",
    "import matplotlib.pyplot as plt\n",
    "plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签\n",
    "plt.rcParams['axes.unicode_minus']=False #用来正常显示负号\n",
    "import seaborn as sns\n",
    "import scipy.stats as stats\n",
    "import numpy as np\n",
    "import weighted\n",
    "%matplotlib inline"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [],
   "source": [
    "conn=db.get_conn()\n",
    "data_original=pd.read_sql(sql=f\"select * from _{year}{month:02} where monthly_salary>0 and monthly_salary<80000 and city in ('北京','上海','广州','深圳')  and monthly_salary<80000 and YEAR(publish_date)={year}\", con=conn)\n",
    "conn.close()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [],
   "source": [
    "error_job_ids=['104660258','104142922','108434795','101357291','106253516','110368302','111391233','108665401','109277048'\n",
    "                  ,'73857191','108584955','102824950','102824949','111391233','110884556']\n",
    "data=data_original[~data_original.job_id.isin(error_job_ids)]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [],
   "source": [
    "#del data['publish_date']\n",
    "#del data['published_on_weekend']\n",
    "#del data['title']\n",
    "#del data['title']\n",
    "#del data['company_title']\n",
    "#del data['company_description']\n",
    "#del data['job_description']\n",
    "#del data['job_id']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>job_id</th>\n",
       "      <th>monthly_salary</th>\n",
       "      <th>headcount</th>\n",
       "      <th>title</th>\n",
       "      <th>zhinengleibie</th>\n",
       "      <th>career</th>\n",
       "      <th>real_province</th>\n",
       "      <th>province</th>\n",
       "      <th>city</th>\n",
       "      <th>company_description</th>\n",
       "      <th>...</th>\n",
       "      <th>pl_visual_basic</th>\n",
       "      <th>publish_date</th>\n",
       "      <th>published_on_weekend</th>\n",
       "      <th>tag_baby_care</th>\n",
       "      <th>tag_five_insurance</th>\n",
       "      <th>tag_flexible</th>\n",
       "      <th>tag_no_overtime</th>\n",
       "      <th>tag_rest_one_day</th>\n",
       "      <th>tag_rest_two_days</th>\n",
       "      <th>tag_stock</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>40467</th>\n",
       "      <td>75596794</td>\n",
       "      <td>7500</td>\n",
       "      <td>200</td>\n",
       "      <td>JAVA 工程师</td>\n",
       "      <td>软件工程师</td>\n",
       "      <td>一般程序员</td>\n",
       "      <td>None</td>\n",
       "      <td>广东</td>\n",
       "      <td>深圳</td>\n",
       "      <td>四方精创资讯有限公司（简称四方精创），是从事金融行业it综合服务和软件协同服务的高端应用软件...</td>\n",
       "      <td>...</td>\n",
       "      <td>False</td>\n",
       "      <td>2019-05-23</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>19757</th>\n",
       "      <td>110969579</td>\n",
       "      <td>12500</td>\n",
       "      <td>200</td>\n",
       "      <td>JAVA开发工程师（2019届应届毕业生）</td>\n",
       "      <td>软件工程师</td>\n",
       "      <td>一般程序员</td>\n",
       "      <td>None</td>\n",
       "      <td>广东</td>\n",
       "      <td>广州</td>\n",
       "      <td>广州汇智通信技术有限公司是专业从事国家特殊通信系统研制工作的大型国有控股混合所有制企业。公司...</td>\n",
       "      <td>...</td>\n",
       "      <td>False</td>\n",
       "      <td>2019-05-27</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12137</th>\n",
       "      <td>108834444</td>\n",
       "      <td>15000</td>\n",
       "      <td>150</td>\n",
       "      <td>Java开发工程师</td>\n",
       "      <td>软件工程师</td>\n",
       "      <td>一般程序员</td>\n",
       "      <td>None</td>\n",
       "      <td>北京</td>\n",
       "      <td>北京</td>\n",
       "      <td>大连华信计算机技术股份有限公司（简称大连华信）是一家面向全球客户提供领先的应用软件产品、信息...</td>\n",
       "      <td>...</td>\n",
       "      <td>False</td>\n",
       "      <td>2019-05-30</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>24768</th>\n",
       "      <td>112071980</td>\n",
       "      <td>12500</td>\n",
       "      <td>150</td>\n",
       "      <td>Java研发工程师（WEB）-广州</td>\n",
       "      <td>高级软件工程师</td>\n",
       "      <td>一般程序员</td>\n",
       "      <td>None</td>\n",
       "      <td>广东</td>\n",
       "      <td>广州</td>\n",
       "      <td>美亚柏科公司简介厦门市美亚柏科信息股份有限公司（股票简称：美亚柏科，股票代码：300188）...</td>\n",
       "      <td>...</td>\n",
       "      <td>False</td>\n",
       "      <td>2019-04-26</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10097</th>\n",
       "      <td>107969622</td>\n",
       "      <td>23000</td>\n",
       "      <td>100</td>\n",
       "      <td>研发工程师 - 抖音/火山/Faceu/轻颜\\t\\t\\t\\t(职位编号：27935)</td>\n",
       "      <td>互联网软件开发工程师</td>\n",
       "      <td>一般程序员</td>\n",
       "      <td>None</td>\n",
       "      <td>北京</td>\n",
       "      <td>北京</td>\n",
       "      <td>字节跳动，是全球第一家将人工智能应用到主产品的科技公司。短短6年，我们从最初的一个“今日头条...</td>\n",
       "      <td>...</td>\n",
       "      <td>False</td>\n",
       "      <td>2019-05-30</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 94 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "          job_id  monthly_salary  headcount  \\\n",
       "40467   75596794            7500        200   \n",
       "19757  110969579           12500        200   \n",
       "12137  108834444           15000        150   \n",
       "24768  112071980           12500        150   \n",
       "10097  107969622           23000        100   \n",
       "\n",
       "                                            title zhinengleibie career  \\\n",
       "40467                                    JAVA 工程师         软件工程师  一般程序员   \n",
       "19757                       JAVA开发工程师（2019届应届毕业生）         软件工程师  一般程序员   \n",
       "12137                                   Java开发工程师         软件工程师  一般程序员   \n",
       "24768                           Java研发工程师（WEB）-广州       高级软件工程师  一般程序员   \n",
       "10097  研发工程师 - 抖音/火山/Faceu/轻颜\\t\\t\\t\\t(职位编号：27935)    互联网软件开发工程师  一般程序员   \n",
       "\n",
       "      real_province province city  \\\n",
       "40467          None       广东   深圳   \n",
       "19757          None       广东   广州   \n",
       "12137          None       北京   北京   \n",
       "24768          None       广东   广州   \n",
       "10097          None       北京   北京   \n",
       "\n",
       "                                     company_description    ...      \\\n",
       "40467  四方精创资讯有限公司（简称四方精创），是从事金融行业it综合服务和软件协同服务的高端应用软件...    ...       \n",
       "19757  广州汇智通信技术有限公司是专业从事国家特殊通信系统研制工作的大型国有控股混合所有制企业。公司...    ...       \n",
       "12137  大连华信计算机技术股份有限公司（简称大连华信）是一家面向全球客户提供领先的应用软件产品、信息...    ...       \n",
       "24768  美亚柏科公司简介厦门市美亚柏科信息股份有限公司（股票简称：美亚柏科，股票代码：300188）...    ...       \n",
       "10097  字节跳动，是全球第一家将人工智能应用到主产品的科技公司。短短6年，我们从最初的一个“今日头条...    ...       \n",
       "\n",
       "      pl_visual_basic publish_date published_on_weekend tag_baby_care  \\\n",
       "40467           False   2019-05-23                False         False   \n",
       "19757           False   2019-05-27                False         False   \n",
       "12137           False   2019-05-30                False         False   \n",
       "24768           False   2019-04-26                False         False   \n",
       "10097           False   2019-05-30                False         False   \n",
       "\n",
       "       tag_five_insurance  tag_flexible  tag_no_overtime  tag_rest_one_day  \\\n",
       "40467                True         False            False             False   \n",
       "19757                True         False            False             False   \n",
       "12137                True         False            False             False   \n",
       "24768                True          True            False             False   \n",
       "10097               False          True            False             False   \n",
       "\n",
       "       tag_rest_two_days  tag_stock  \n",
       "40467              False      False  \n",
       "19757              False      False  \n",
       "12137              False      False  \n",
       "24768              False       True  \n",
       "10097              False      False  \n",
       "\n",
       "[5 rows x 94 columns]"
      ]
     },
     "execution_count": 21,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data=data.sort_values(by='headcount', ascending=False)\n",
    "data.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [],
   "source": [
    "def pd_weighted_mean(group, avg_name, weight_name):\n",
    "    \"\"\" http://stackoverflow.com/questions/10951341/pandas-dataframe-aggregate-function-using-multiple-columns\n",
    "    In rare instance, we may not have weights, so just return the mean. Customize this if your business case\n",
    "    should return otherwise.\n",
    "    \"\"\"\n",
    "    d = group[avg_name]\n",
    "    w = group[weight_name]\n",
    "    try:\n",
    "        return (d * w).sum() / w.sum()\n",
    "    except ZeroDivisionError:\n",
    "        return d.mean()\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Unilateral Stats 总体统计"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "有数据可知，程序员向一线城市集中的趋势非常明显。\n",
    "\n",
    "According to the statistics, significant amount of developers are in the first tier cities."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(48069, 94)"
      ]
     },
     "execution_count": 23,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "150520"
      ]
     },
     "execution_count": 24,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data.headcount.sum()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([ 4500.        , 10499.28571429, 13500.        , 19000.        ,\n",
       "       37500.        ])"
      ]
     },
     "execution_count": 25,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "salary_mean=weighted.weighted_mean(data.monthly_salary.values, data.headcount.values)\n",
    "q=weighted.weighted_quantile(data.monthly_salary.values,[0.025,0.25,0.5,0.75,0.975], data.headcount.values)\n",
    "q"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "2019年6月中国一线城市程序员的平均工资为15671元，工资中位数为13500元，其中95%的人的工资位于4500到37500元之间。\n"
     ]
    }
   ],
   "source": [
    "print(f'{year}年{month}月中国一线城市程序员的平均工资为{salary_mean:.0f}元，工资中位数为{q[2]:.0f}元，其中95%的人的工资位于{q[0]:.0f}到{q[4]:.0f}元之间。')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "In 2019, Developers in China earn 15671 Yuan as average, the median is 13500 Yuan, 95% of them earn between 4500 and 37500 Yuan.\n"
     ]
    }
   ],
   "source": [
    "print(f'In {year}, Developers in China earn {salary_mean:.0f} Yuan as average, '\n",
    "      f'the median is {q[2]:.0f} Yuan, 95% of them earn between {q[0]:.0f} and {q[4]:.0f} Yuan.')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x2531ebc6eb8>"
      ]
     },
     "execution_count": 28,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "data.monthly_salary.hist()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "It does not look like normal distribution."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {},
   "outputs": [],
   "source": [
    "from scipy import stats"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "NormaltestResult(statistic=16161.56545740752, pvalue=0.0)"
      ]
     },
     "execution_count": 30,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "stats.normaltest(data.monthly_salary)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "null hypothesis: x comes from a normal distribution\n",
    "    \n",
    "p=0\n",
    "\n",
    "The null hypothesis can be rejected\n",
    "\n",
    "conclusion: data is not normally distributed."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Zoom in"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "data[data.monthly_salary<40000].monthly_salary.hist()\n",
    "plt.annotate('https://github.com/juwikuang/job_survey', xy=(0,0), xytext=(2000, 100), color='white')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Role 角色"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {},
   "outputs": [],
   "source": [
    "#Common Functions\n",
    "def get_sub_stats_by_col(data, col):\n",
    "    categories=data[col].unique()\n",
    "    salary_mean=[]\n",
    "    salary_95_min=[]\n",
    "    salary_95_max=[]\n",
    "    salary_median=[]\n",
    "    \n",
    "\n",
    "    count=[]\n",
    "    \n",
    "    categorys_out=[]\n",
    "    for category in categories:\n",
    "        #print(feature)\n",
    "        idata=data[data[col]==category]\n",
    "        headcount=idata.headcount.sum()\n",
    "        values = idata.monthly_salary.values\n",
    "        weights = idata.headcount.values\n",
    "        #print(str(headcount))\n",
    "        if headcount==0:\n",
    "            continue\n",
    "        \n",
    "        salary_mean.append(np.average(values, weights=weights))\n",
    "        \n",
    "\n",
    "        q = weighted.weighted_quantile(values,[0.025,0.5,0.975],weights)\n",
    "        salary_95_min.append(q[0])\n",
    "        salary_median.append(q[1])\n",
    "        salary_95_max.append(q[2])\n",
    "        count.append(idata.headcount.sum())\n",
    "        categorys_out.append(category)\n",
    "    sub_data=pd.DataFrame()\n",
    "    sub_data[col]=[c for c in categorys_out]\n",
    "    sub_data['salary_mean']=salary_mean\n",
    "    sub_data['salary_95_min']=salary_95_min\n",
    "    sub_data['salary_median']=salary_median\n",
    "    sub_data['salary_95_max']=salary_95_max\n",
    "    sub_data['head_count']=count\n",
    "    sub_data['percentage']=count/np.sum(count)\n",
    "    sub_data=sub_data.sort_values(by='salary_mean', ascending=False)\n",
    "\n",
    "    return sub_data\n",
    "\n",
    "def get_sub_stats_by_prefix(data, prefix):\n",
    "    \n",
    "    features = [feature for feature in data.columns if feature.startswith(prefix)]\n",
    "    salary_mean=[]\n",
    "    salary_median=[]\n",
    "    salary_95_min=[]\n",
    "    salary_95_max=[]\n",
    "    count=[]\n",
    "    \n",
    "    features_out=[]\n",
    "    for feature in features:\n",
    "        #print(feature)\n",
    "        idata=data[data[feature]==1]\n",
    "        headcount=idata.headcount.sum()\n",
    "        values = idata.monthly_salary.values\n",
    "        weights = idata.headcount.values\n",
    "        #print(str(headcount))\n",
    "        if headcount==0:\n",
    "            continue\n",
    "        \n",
    "        salary_mean.append(weighted.weighted_mean(values, weights))\n",
    "        q = weighted.weighted_quantile(values,[0.025,0.5,0.975],weights)\n",
    "        salary_median.append(q[1])\n",
    "        salary_95_min.append(q[0])\n",
    "        salary_95_max.append(q[2])\n",
    "        count.append(idata.headcount.sum())\n",
    "        features_out.append(feature)\n",
    "    sub_data=pd.DataFrame()\n",
    "    sub_data['rank']=range(0,len(features_out))\n",
    "    sub_data[prefix]=[f.replace(prefix,'') for f in features_out]\n",
    "    sub_data['salary_mean']=salary_mean\n",
    "    sub_data['salary_median']=salary_median\n",
    "    sub_data['salary_95_min']=salary_95_min\n",
    "    sub_data['salary_95_max']=salary_95_max\n",
    "    sub_data['head_count']=count\n",
    "    sub_data['percentage']=count/np.sum(count)\n",
    "    sub_data=sub_data.sort_values(by='salary_mean', ascending=False)\n",
    "    sub_data['rank']=range(1,len(features_out)+1)\n",
    "    #sub_data=sub_data.reset_index()\n",
    "    return sub_data\n",
    "\n",
    "def apply_style(sub_data):\n",
    "    return sub_data.style.hide_index().format(\n",
    "    {\"salary_mean\":\"{:.0f}\",\"salary_median\":\"{:.0f}\",\"salary_95_min\":\"{:.0f}\",\"salary_95_max\":\"{:.0f}\",\"percentage\":\"{:.2%}\"})"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<style  type=\"text/css\" >\n",
       "</style>  \n",
       "<table id=\"T_f39d5b6e_e590_11e9_8918_701ce71031ef\" > \n",
       "<thead>    <tr> \n",
       "        <th class=\"blank level0\" ></th> \n",
       "        <th class=\"col_heading level0 col0\" >career</th> \n",
       "        <th class=\"col_heading level0 col1\" >salary_mean</th> \n",
       "        <th class=\"col_heading level0 col2\" >salary_95_min</th> \n",
       "        <th class=\"col_heading level0 col3\" >salary_median</th> \n",
       "        <th class=\"col_heading level0 col4\" >salary_95_max</th> \n",
       "        <th class=\"col_heading level0 col5\" >head_count</th> \n",
       "        <th class=\"col_heading level0 col6\" >percentage</th> \n",
       "    </tr></thead> \n",
       "<tbody>    <tr> \n",
       "        <th id=\"T_f39d5b6e_e590_11e9_8918_701ce71031eflevel0_row0\" class=\"row_heading level0 row0\" >2</th> \n",
       "        <td id=\"T_f39d5b6e_e590_11e9_8918_701ce71031efrow0_col0\" class=\"data row0 col0\" >系统架构师</td> \n",
       "        <td id=\"T_f39d5b6e_e590_11e9_8918_701ce71031efrow0_col1\" class=\"data row0 col1\" >24938</td> \n",
       "        <td id=\"T_f39d5b6e_e590_11e9_8918_701ce71031efrow0_col2\" class=\"data row0 col2\" >5250</td> \n",
       "        <td id=\"T_f39d5b6e_e590_11e9_8918_701ce71031efrow0_col3\" class=\"data row0 col3\" >22500</td> \n",
       "        <td id=\"T_f39d5b6e_e590_11e9_8918_701ce71031efrow0_col4\" class=\"data row0 col4\" >52500</td> \n",
       "        <td id=\"T_f39d5b6e_e590_11e9_8918_701ce71031efrow0_col5\" class=\"data row0 col5\" >6316</td> \n",
       "        <td id=\"T_f39d5b6e_e590_11e9_8918_701ce71031efrow0_col6\" class=\"data row0 col6\" >4.20%</td> \n",
       "    </tr>    <tr> \n",
       "        <th id=\"T_f39d5b6e_e590_11e9_8918_701ce71031eflevel0_row1\" class=\"row_heading level0 row1\" >1</th> \n",
       "        <td id=\"T_f39d5b6e_e590_11e9_8918_701ce71031efrow1_col0\" class=\"data row1 col0\" >算法工程师</td> \n",
       "        <td id=\"T_f39d5b6e_e590_11e9_8918_701ce71031efrow1_col1\" class=\"data row1 col1\" >22686</td> \n",
       "        <td id=\"T_f39d5b6e_e590_11e9_8918_701ce71031efrow1_col2\" class=\"data row1 col2\" >6000</td> \n",
       "        <td id=\"T_f39d5b6e_e590_11e9_8918_701ce71031efrow1_col3\" class=\"data row1 col3\" >20833</td> \n",
       "        <td id=\"T_f39d5b6e_e590_11e9_8918_701ce71031efrow1_col4\" class=\"data row1 col4\" >45833</td> \n",
       "        <td id=\"T_f39d5b6e_e590_11e9_8918_701ce71031efrow1_col5\" class=\"data row1 col5\" >13529</td> \n",
       "        <td id=\"T_f39d5b6e_e590_11e9_8918_701ce71031efrow1_col6\" class=\"data row1 col6\" >8.99%</td> \n",
       "    </tr>    <tr> \n",
       "        <th id=\"T_f39d5b6e_e590_11e9_8918_701ce71031eflevel0_row2\" class=\"row_heading level0 row2\" >3</th> \n",
       "        <td id=\"T_f39d5b6e_e590_11e9_8918_701ce71031efrow2_col0\" class=\"data row2 col0\" >爬虫工程师</td> \n",
       "        <td id=\"T_f39d5b6e_e590_11e9_8918_701ce71031efrow2_col1\" class=\"data row2 col1\" >16298</td> \n",
       "        <td id=\"T_f39d5b6e_e590_11e9_8918_701ce71031efrow2_col2\" class=\"data row2 col2\" >3750</td> \n",
       "        <td id=\"T_f39d5b6e_e590_11e9_8918_701ce71031efrow2_col3\" class=\"data row2 col3\" >15000</td> \n",
       "        <td id=\"T_f39d5b6e_e590_11e9_8918_701ce71031efrow2_col4\" class=\"data row2 col4\" >37500</td> \n",
       "        <td id=\"T_f39d5b6e_e590_11e9_8918_701ce71031efrow2_col5\" class=\"data row2 col5\" >340</td> \n",
       "        <td id=\"T_f39d5b6e_e590_11e9_8918_701ce71031efrow2_col6\" class=\"data row2 col6\" >0.23%</td> \n",
       "    </tr>    <tr> \n",
       "        <th id=\"T_f39d5b6e_e590_11e9_8918_701ce71031eflevel0_row3\" class=\"row_heading level0 row3\" >0</th> \n",
       "        <td id=\"T_f39d5b6e_e590_11e9_8918_701ce71031efrow3_col0\" class=\"data row3 col0\" >一般程序员</td> \n",
       "        <td id=\"T_f39d5b6e_e590_11e9_8918_701ce71031efrow3_col1\" class=\"data row3 col1\" >14493</td> \n",
       "        <td id=\"T_f39d5b6e_e590_11e9_8918_701ce71031efrow3_col2\" class=\"data row3 col2\" >4500</td> \n",
       "        <td id=\"T_f39d5b6e_e590_11e9_8918_701ce71031efrow3_col3\" class=\"data row3 col3\" >12500</td> \n",
       "        <td id=\"T_f39d5b6e_e590_11e9_8918_701ce71031efrow3_col4\" class=\"data row3 col4\" >32500</td> \n",
       "        <td id=\"T_f39d5b6e_e590_11e9_8918_701ce71031efrow3_col5\" class=\"data row3 col5\" >130285</td> \n",
       "        <td id=\"T_f39d5b6e_e590_11e9_8918_701ce71031efrow3_col6\" class=\"data row3 col6\" >86.56%</td> \n",
       "    </tr>    <tr> \n",
       "        <th id=\"T_f39d5b6e_e590_11e9_8918_701ce71031eflevel0_row4\" class=\"row_heading level0 row4\" >4</th> \n",
       "        <td id=\"T_f39d5b6e_e590_11e9_8918_701ce71031efrow4_col0\" class=\"data row4 col0\" >生物信息工程师</td> \n",
       "        <td id=\"T_f39d5b6e_e590_11e9_8918_701ce71031efrow4_col1\" class=\"data row4 col1\" >9820</td> \n",
       "        <td id=\"T_f39d5b6e_e590_11e9_8918_701ce71031efrow4_col2\" class=\"data row4 col2\" >4500</td> \n",
       "        <td id=\"T_f39d5b6e_e590_11e9_8918_701ce71031efrow4_col3\" class=\"data row4 col3\" >8875</td> \n",
       "        <td id=\"T_f39d5b6e_e590_11e9_8918_701ce71031efrow4_col4\" class=\"data row4 col4\" >17187.5</td> \n",
       "        <td id=\"T_f39d5b6e_e590_11e9_8918_701ce71031efrow4_col5\" class=\"data row4 col5\" >50</td> \n",
       "        <td id=\"T_f39d5b6e_e590_11e9_8918_701ce71031efrow4_col6\" class=\"data row4 col6\" >0.03%</td> \n",
       "    </tr></tbody> \n",
       "</table> "
      ],
      "text/plain": [
       "<pandas.io.formats.style.Styler at 0x25322bfe940>"
      ]
     },
     "execution_count": 33,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data_career = get_sub_stats_by_col(data,'career')\n",
    "data_career.style.format({\"salary_mean\":\"{:.0f}\",\"salary_median\":\"{:.0f}\",\"percentage\":\"{:.2%}\"})"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "15670.540539463194"
      ]
     },
     "execution_count": 34,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "np.sum(data.monthly_salary * data.headcount) / data.headcount.sum()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "150520"
      ]
     },
     "execution_count": 35,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data.headcount.sum()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "count    48069.000000\n",
       "mean         3.131332\n",
       "std          3.371964\n",
       "min          1.000000\n",
       "25%          1.000000\n",
       "50%          2.000000\n",
       "75%          5.000000\n",
       "max        200.000000\n",
       "Name: headcount, dtype: float64"
      ]
     },
     "execution_count": 36,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data.headcount.describe()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>job_id</th>\n",
       "      <th>monthly_salary</th>\n",
       "      <th>headcount</th>\n",
       "      <th>title</th>\n",
       "      <th>zhinengleibie</th>\n",
       "      <th>career</th>\n",
       "      <th>real_province</th>\n",
       "      <th>province</th>\n",
       "      <th>city</th>\n",
       "      <th>company_description</th>\n",
       "      <th>company_size</th>\n",
       "      <th>company_title</th>\n",
       "      <th>company_type</th>\n",
       "      <th>page_title</th>\n",
       "      <th>ageism</th>\n",
       "      <th>db_Apache_Hive</th>\n",
       "      <th>db_CouchBase</th>\n",
       "      <th>db_CouchDB</th>\n",
       "      <th>db_DB2</th>\n",
       "      <th>db_DynamoDB</th>\n",
       "      <th>db_Elasticsearch</th>\n",
       "      <th>db_FileMaker</th>\n",
       "      <th>db_Firebase</th>\n",
       "      <th>db_Firebird</th>\n",
       "      <th>db_Hbase</th>\n",
       "      <th>db_Informix</th>\n",
       "      <th>db_Ingres</th>\n",
       "      <th>db_MariaDB</th>\n",
       "      <th>db_Memcached</th>\n",
       "      <th>db_MongoDB</th>\n",
       "      <th>db_MySQL</th>\n",
       "      <th>db_Neo4j</th>\n",
       "      <th>db_Netezza</th>\n",
       "      <th>db_Oracle</th>\n",
       "      <th>db_PostgreSQL</th>\n",
       "      <th>db_Redis</th>\n",
       "      <th>db_Riak</th>\n",
       "      <th>db_SAP_HANA</th>\n",
       "      <th>db_SQL_Server</th>\n",
       "      <th>db_SQLite</th>\n",
       "      <th>db_Solr</th>\n",
       "      <th>db_Splunk</th>\n",
       "      <th>db_Sybase</th>\n",
       "      <th>db_Teradata</th>\n",
       "      <th>db_dBase</th>\n",
       "      <th>edu</th>\n",
       "      <th>english</th>\n",
       "      <th>experience</th>\n",
       "      <th>expert_adas</th>\n",
       "      <th>expert_blockchain</th>\n",
       "      <th>expert_embed</th>\n",
       "      <th>expert_expert</th>\n",
       "      <th>expert_gis</th>\n",
       "      <th>_996_yes</th>\n",
       "      <th>_996_no</th>\n",
       "      <th>industry</th>\n",
       "      <th>japanese</th>\n",
       "      <th>job_description</th>\n",
       "      <th>job_summary</th>\n",
       "      <th>job_tags</th>\n",
       "      <th>phone_android</th>\n",
       "      <th>phone_app</th>\n",
       "      <th>phone_iso</th>\n",
       "      <th>pl_c_sharp</th>\n",
       "      <th>pl_cpp</th>\n",
       "      <th>pl_delphi</th>\n",
       "      <th>pl_go</th>\n",
       "      <th>pl_haskell</th>\n",
       "      <th>pl_java</th>\n",
       "      <th>pl_javascript</th>\n",
       "      <th>pl_julia</th>\n",
       "      <th>pl_kotlin</th>\n",
       "      <th>pl_lua</th>\n",
       "      <th>pl_matlab</th>\n",
       "      <th>pl_objective_c</th>\n",
       "      <th>pl_perl</th>\n",
       "      <th>pl_php</th>\n",
       "      <th>pl_python</th>\n",
       "      <th>pl_ruby</th>\n",
       "      <th>pl_rust</th>\n",
       "      <th>pl_scrala</th>\n",
       "      <th>pl_swift</th>\n",
       "      <th>pl_typescript</th>\n",
       "      <th>pl_vba</th>\n",
       "      <th>pl_visual_basic</th>\n",
       "      <th>publish_date</th>\n",
       "      <th>published_on_weekend</th>\n",
       "      <th>tag_baby_care</th>\n",
       "      <th>tag_five_insurance</th>\n",
       "      <th>tag_flexible</th>\n",
       "      <th>tag_no_overtime</th>\n",
       "      <th>tag_rest_one_day</th>\n",
       "      <th>tag_rest_two_days</th>\n",
       "      <th>tag_stock</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>40467</th>\n",
       "      <td>75596794</td>\n",
       "      <td>7500</td>\n",
       "      <td>200</td>\n",
       "      <td>JAVA 工程师</td>\n",
       "      <td>软件工程师</td>\n",
       "      <td>一般程序员</td>\n",
       "      <td>None</td>\n",
       "      <td>广东</td>\n",
       "      <td>深圳</td>\n",
       "      <td>四方精创资讯有限公司（简称四方精创），是从事金融行业it综合服务和软件协同服务的高端应用软件...</td>\n",
       "      <td>500-1000</td>\n",
       "      <td>深圳四方精创资讯股份有限公司</td>\n",
       "      <td>合资</td>\n",
       "      <td>【深圳JAVA 工程师_JAVA 工程师招聘_深圳四方精创资讯股份有限公司】-前程无忧官方招聘网站</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>本科</td>\n",
       "      <td>False</td>\n",
       "      <td>1_3</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>computer</td>\n",
       "      <td>False</td>\n",
       "      <td>岗位职责1.按照上级计划和安排进行技术开发工作；2. 负责金融行业应用平台后端模块开发工作；...</td>\n",
       "      <td>深圳|1年经验|本科|招200人|05-23发布</td>\n",
       "      <td>五险一金,专业培训,年终奖金,员工旅游</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>2019-05-23</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>19757</th>\n",
       "      <td>110969579</td>\n",
       "      <td>12500</td>\n",
       "      <td>200</td>\n",
       "      <td>JAVA开发工程师（2019届应届毕业生）</td>\n",
       "      <td>软件工程师</td>\n",
       "      <td>一般程序员</td>\n",
       "      <td>None</td>\n",
       "      <td>广东</td>\n",
       "      <td>广州</td>\n",
       "      <td>广州汇智通信技术有限公司是专业从事国家特殊通信系统研制工作的大型国有控股混合所有制企业。公司...</td>\n",
       "      <td>1000-5000</td>\n",
       "      <td>广州汇智通信技术有限公司</td>\n",
       "      <td>国企</td>\n",
       "      <td>【广州JAVA开发工程师（2019届应届毕业生）_JAVA开发工程师（2019届应届毕业生）...</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>本科</td>\n",
       "      <td>False</td>\n",
       "      <td>no</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>computer</td>\n",
       "      <td>False</td>\n",
       "      <td>广州汇智通信技术有限公司                                  ...</td>\n",
       "      <td>广州|无工作经验|本科|招200人|05-27发布</td>\n",
       "      <td>五险一金,补充医疗保险,补充公积金,交通补贴,年终奖金,绩效奖金,通讯补贴,定期体检,餐饮补贴</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>2019-05-27</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12137</th>\n",
       "      <td>108834444</td>\n",
       "      <td>15000</td>\n",
       "      <td>150</td>\n",
       "      <td>Java开发工程师</td>\n",
       "      <td>软件工程师</td>\n",
       "      <td>一般程序员</td>\n",
       "      <td>None</td>\n",
       "      <td>北京</td>\n",
       "      <td>北京</td>\n",
       "      <td>大连华信计算机技术股份有限公司（简称大连华信）是一家面向全球客户提供领先的应用软件产品、信息...</td>\n",
       "      <td>5000-10000</td>\n",
       "      <td>大连华信计算机技术股份有限公司</td>\n",
       "      <td>合资</td>\n",
       "      <td>【北京-朝阳区Java开发工程师_Java开发工程师招聘_大连华信计算机技术股份有限公司】-...</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>本科</td>\n",
       "      <td>False</td>\n",
       "      <td>5_10</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>computer</td>\n",
       "      <td>False</td>\n",
       "      <td>1、5年以上java开发工作经验。2、有丰富研发经验；深入理解SpringCloud、spr...</td>\n",
       "      <td>北京-朝阳区|5-7年经验|本科|招150人|05-30发布</td>\n",
       "      <td>五险一金,补充医疗保险,定期体检,年终奖金</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>2019-05-30</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>24768</th>\n",
       "      <td>112071980</td>\n",
       "      <td>12500</td>\n",
       "      <td>150</td>\n",
       "      <td>Java研发工程师（WEB）-广州</td>\n",
       "      <td>高级软件工程师</td>\n",
       "      <td>一般程序员</td>\n",
       "      <td>None</td>\n",
       "      <td>广东</td>\n",
       "      <td>广州</td>\n",
       "      <td>美亚柏科公司简介厦门市美亚柏科信息股份有限公司（股票简称：美亚柏科，股票代码：300188）...</td>\n",
       "      <td>1000-5000</td>\n",
       "      <td>厦门市美亚柏科信息股份有限公司</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>【广州-海珠区Java研发工程师（WEB）-广州_Java研发工程师（WEB）-广州招聘_厦...</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>本科</td>\n",
       "      <td>False</td>\n",
       "      <td>3_5</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>computer</td>\n",
       "      <td>False</td>\n",
       "      <td>工作职责:1)\\t基于海量数据的WEB应用研发。2)\\t数据可视化设计与实现。3)\\t根据业...</td>\n",
       "      <td>广州-海珠区|3-4年经验|本科|招150人|04-26发布</td>\n",
       "      <td>五险一金,免费班车,员工旅游,交通补贴,餐饮补贴,年终奖金,弹性工作,股票期权</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>2019-04-26</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10097</th>\n",
       "      <td>107969622</td>\n",
       "      <td>23000</td>\n",
       "      <td>100</td>\n",
       "      <td>研发工程师 - 抖音/火山/Faceu/轻颜\\t\\t\\t\\t(职位编号：27935)</td>\n",
       "      <td>互联网软件开发工程师</td>\n",
       "      <td>一般程序员</td>\n",
       "      <td>None</td>\n",
       "      <td>北京</td>\n",
       "      <td>北京</td>\n",
       "      <td>字节跳动，是全球第一家将人工智能应用到主产品的科技公司。短短6年，我们从最初的一个“今日头条...</td>\n",
       "      <td>10000+</td>\n",
       "      <td>字节跳动</td>\n",
       "      <td>民营公司</td>\n",
       "      <td>【北京研发工程师 - 抖音/火山/Faceu/轻颜_研发工程师 - 抖音/火山/Faceu/...</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>本科</td>\n",
       "      <td>False</td>\n",
       "      <td>no</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>computer</td>\n",
       "      <td>False</td>\n",
       "      <td>职位描述:1、参与互娱核心产品的开发、迭代；2、参与各专项技术调研，新技术引入等前瞻项目；3...</td>\n",
       "      <td>北京|无工作经验|本科|招100人|05-30发布</td>\n",
       "      <td>六险一金,弹性工作,免费三餐,餐补,租房补贴,带薪休假,休闲下午茶,扁平管理,过亿用户,职业大牛</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>2019-05-30</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "          job_id  monthly_salary  headcount  \\\n",
       "40467   75596794            7500        200   \n",
       "19757  110969579           12500        200   \n",
       "12137  108834444           15000        150   \n",
       "24768  112071980           12500        150   \n",
       "10097  107969622           23000        100   \n",
       "\n",
       "                                            title zhinengleibie career  \\\n",
       "40467                                    JAVA 工程师         软件工程师  一般程序员   \n",
       "19757                       JAVA开发工程师（2019届应届毕业生）         软件工程师  一般程序员   \n",
       "12137                                   Java开发工程师         软件工程师  一般程序员   \n",
       "24768                           Java研发工程师（WEB）-广州       高级软件工程师  一般程序员   \n",
       "10097  研发工程师 - 抖音/火山/Faceu/轻颜\\t\\t\\t\\t(职位编号：27935)    互联网软件开发工程师  一般程序员   \n",
       "\n",
       "      real_province province city  \\\n",
       "40467          None       广东   深圳   \n",
       "19757          None       广东   广州   \n",
       "12137          None       北京   北京   \n",
       "24768          None       广东   广州   \n",
       "10097          None       北京   北京   \n",
       "\n",
       "                                     company_description company_size  \\\n",
       "40467  四方精创资讯有限公司（简称四方精创），是从事金融行业it综合服务和软件协同服务的高端应用软件...     500-1000   \n",
       "19757  广州汇智通信技术有限公司是专业从事国家特殊通信系统研制工作的大型国有控股混合所有制企业。公司...    1000-5000   \n",
       "12137  大连华信计算机技术股份有限公司（简称大连华信）是一家面向全球客户提供领先的应用软件产品、信息...   5000-10000   \n",
       "24768  美亚柏科公司简介厦门市美亚柏科信息股份有限公司（股票简称：美亚柏科，股票代码：300188）...    1000-5000   \n",
       "10097  字节跳动，是全球第一家将人工智能应用到主产品的科技公司。短短6年，我们从最初的一个“今日头条...       10000+   \n",
       "\n",
       "         company_title company_type  \\\n",
       "40467   深圳四方精创资讯股份有限公司           合资   \n",
       "19757     广州汇智通信技术有限公司           国企   \n",
       "12137  大连华信计算机技术股份有限公司           合资   \n",
       "24768  厦门市美亚柏科信息股份有限公司         民营公司   \n",
       "10097             字节跳动         民营公司   \n",
       "\n",
       "                                              page_title  ageism  \\\n",
       "40467  【深圳JAVA 工程师_JAVA 工程师招聘_深圳四方精创资讯股份有限公司】-前程无忧官方招聘网站   False   \n",
       "19757  【广州JAVA开发工程师（2019届应届毕业生）_JAVA开发工程师（2019届应届毕业生）...   False   \n",
       "12137  【北京-朝阳区Java开发工程师_Java开发工程师招聘_大连华信计算机技术股份有限公司】-...   False   \n",
       "24768  【广州-海珠区Java研发工程师（WEB）-广州_Java研发工程师（WEB）-广州招聘_厦...   False   \n",
       "10097  【北京研发工程师 - 抖音/火山/Faceu/轻颜_研发工程师 - 抖音/火山/Faceu/...   False   \n",
       "\n",
       "       db_Apache_Hive  db_CouchBase  db_CouchDB  db_DB2  db_DynamoDB  \\\n",
       "40467           False         False       False   False        False   \n",
       "19757           False         False       False   False        False   \n",
       "12137           False         False       False   False        False   \n",
       "24768           False         False       False   False        False   \n",
       "10097           False         False       False   False        False   \n",
       "\n",
       "       db_Elasticsearch  db_FileMaker  db_Firebase  db_Firebird  db_Hbase  \\\n",
       "40467             False         False        False        False     False   \n",
       "19757             False         False        False        False     False   \n",
       "12137             False         False        False        False     False   \n",
       "24768             False         False        False        False     False   \n",
       "10097             False         False        False        False     False   \n",
       "\n",
       "       db_Informix  db_Ingres  db_MariaDB  db_Memcached  db_MongoDB  db_MySQL  \\\n",
       "40467        False      False       False         False       False      True   \n",
       "19757        False      False       False         False       False     False   \n",
       "12137        False      False       False         False       False      True   \n",
       "24768        False      False       False         False       False     False   \n",
       "10097        False      False       False         False       False     False   \n",
       "\n",
       "       db_Neo4j  db_Netezza  db_Oracle  db_PostgreSQL  db_Redis  db_Riak  \\\n",
       "40467     False       False       True          False     False    False   \n",
       "19757     False       False      False          False     False    False   \n",
       "12137     False       False       True          False     False    False   \n",
       "24768     False       False      False          False     False    False   \n",
       "10097     False       False      False          False     False    False   \n",
       "\n",
       "       db_SAP_HANA  db_SQL_Server  db_SQLite  db_Solr  db_Splunk  db_Sybase  \\\n",
       "40467        False          False      False    False      False      False   \n",
       "19757        False          False      False    False      False      False   \n",
       "12137        False          False      False    False      False      False   \n",
       "24768        False          False      False    False      False      False   \n",
       "10097        False          False      False    False      False      False   \n",
       "\n",
       "       db_Teradata  db_dBase edu  english experience  expert_adas  \\\n",
       "40467        False     False  本科    False        1_3        False   \n",
       "19757        False     False  本科    False         no        False   \n",
       "12137        False     False  本科    False       5_10        False   \n",
       "24768        False     False  本科    False        3_5        False   \n",
       "10097        False     False  本科    False         no        False   \n",
       "\n",
       "       expert_blockchain  expert_embed  expert_expert  expert_gis  _996_yes  \\\n",
       "40467              False         False          False       False     False   \n",
       "19757              False         False          False       False     False   \n",
       "12137              False         False          False       False     False   \n",
       "24768              False         False          False       False     False   \n",
       "10097              False         False          False       False      True   \n",
       "\n",
       "       _996_no  industry  japanese  \\\n",
       "40467    False  computer     False   \n",
       "19757    False  computer     False   \n",
       "12137    False  computer     False   \n",
       "24768    False  computer     False   \n",
       "10097    False  computer     False   \n",
       "\n",
       "                                         job_description  \\\n",
       "40467  岗位职责1.按照上级计划和安排进行技术开发工作；2. 负责金融行业应用平台后端模块开发工作；...   \n",
       "19757  广州汇智通信技术有限公司                                  ...   \n",
       "12137  1、5年以上java开发工作经验。2、有丰富研发经验；深入理解SpringCloud、spr...   \n",
       "24768  工作职责:1)\\t基于海量数据的WEB应用研发。2)\\t数据可视化设计与实现。3)\\t根据业...   \n",
       "10097  职位描述:1、参与互娱核心产品的开发、迭代；2、参与各专项技术调研，新技术引入等前瞻项目；3...   \n",
       "\n",
       "                          job_summary  \\\n",
       "40467        深圳|1年经验|本科|招200人|05-23发布   \n",
       "19757       广州|无工作经验|本科|招200人|05-27发布   \n",
       "12137  北京-朝阳区|5-7年经验|本科|招150人|05-30发布   \n",
       "24768  广州-海珠区|3-4年经验|本科|招150人|04-26发布   \n",
       "10097       北京|无工作经验|本科|招100人|05-30发布   \n",
       "\n",
       "                                               job_tags  phone_android  \\\n",
       "40467                               五险一金,专业培训,年终奖金,员工旅游          False   \n",
       "19757   五险一金,补充医疗保险,补充公积金,交通补贴,年终奖金,绩效奖金,通讯补贴,定期体检,餐饮补贴          False   \n",
       "12137                             五险一金,补充医疗保险,定期体检,年终奖金          False   \n",
       "24768           五险一金,免费班车,员工旅游,交通补贴,餐饮补贴,年终奖金,弹性工作,股票期权          False   \n",
       "10097  六险一金,弹性工作,免费三餐,餐补,租房补贴,带薪休假,休闲下午茶,扁平管理,过亿用户,职业大牛           True   \n",
       "\n",
       "       phone_app  phone_iso  pl_c_sharp  pl_cpp  pl_delphi  pl_go  pl_haskell  \\\n",
       "40467      False      False       False   False      False  False       False   \n",
       "19757       True       True        True    True      False  False       False   \n",
       "12137      False      False       False   False      False   True       False   \n",
       "24768      False      False       False   False      False  False       False   \n",
       "10097       True      False       False   False      False  False       False   \n",
       "\n",
       "       pl_java  pl_javascript  pl_julia  pl_kotlin  pl_lua  pl_matlab  \\\n",
       "40467     True          False     False      False   False      False   \n",
       "19757     True          False     False      False   False      False   \n",
       "12137     True          False     False      False   False      False   \n",
       "24768     True           True     False      False   False      False   \n",
       "10097    False          False     False      False   False      False   \n",
       "\n",
       "       pl_objective_c  pl_perl  pl_php  pl_python  pl_ruby  pl_rust  \\\n",
       "40467           False    False   False      False    False    False   \n",
       "19757           False    False   False      False    False    False   \n",
       "12137           False    False   False       True    False    False   \n",
       "24768           False    False   False      False    False    False   \n",
       "10097           False    False   False      False    False    False   \n",
       "\n",
       "       pl_scrala  pl_swift  pl_typescript  pl_vba  pl_visual_basic  \\\n",
       "40467      False     False          False   False            False   \n",
       "19757      False     False          False   False            False   \n",
       "12137      False     False          False   False            False   \n",
       "24768      False     False          False   False            False   \n",
       "10097      False     False          False   False            False   \n",
       "\n",
       "      publish_date  published_on_weekend  tag_baby_care  tag_five_insurance  \\\n",
       "40467   2019-05-23                 False          False                True   \n",
       "19757   2019-05-27                 False          False                True   \n",
       "12137   2019-05-30                 False          False                True   \n",
       "24768   2019-04-26                 False          False                True   \n",
       "10097   2019-05-30                 False          False               False   \n",
       "\n",
       "       tag_flexible  tag_no_overtime  tag_rest_one_day  tag_rest_two_days  \\\n",
       "40467         False            False             False              False   \n",
       "19757         False            False             False              False   \n",
       "12137         False            False             False              False   \n",
       "24768          True            False             False              False   \n",
       "10097          True            False             False              False   \n",
       "\n",
       "       tag_stock  \n",
       "40467      False  \n",
       "19757      False  \n",
       "12137      False  \n",
       "24768       True  \n",
       "10097      False  "
      ]
     },
     "execution_count": 37,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "pd.options.display.max_columns=100\n",
    "data.sort_values(by='headcount', ascending=False).head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "150520"
      ]
     },
     "execution_count": 38,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data.headcount.sum()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 城市"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "metadata": {},
   "outputs": [],
   "source": [
    "headcount_by_cities = data.groupby(by='city').headcount.sum()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "city\n",
       "上海    51135\n",
       "北京    27995\n",
       "广州    31832\n",
       "深圳    39558\n",
       "Name: headcount, dtype: int64"
      ]
     },
     "execution_count": 40,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "headcount_by_cities\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 41,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "([<matplotlib.patches.Wedge at 0x2532cf1d320>,\n",
       "  <matplotlib.patches.Wedge at 0x2532cf1da90>,\n",
       "  <matplotlib.patches.Wedge at 0x2532e0ac1d0>,\n",
       "  <matplotlib.patches.Wedge at 0x2532e0ac8d0>],\n",
       " [Text(0.5307697814697431, 0.9634746696610977, '上海'),\n",
       "  Text(-1.0031587062957337, 0.45130101925773464, '北京'),\n",
       "  Text(-0.7456601920924356, -0.808697024805132, '广州'),\n",
       "  Text(0.7458965445867424, -0.8084790317463763, '深圳')],\n",
       " [Text(0.2895107898925871, 0.5255316379969623, '34.0%'),\n",
       "  Text(-0.5471774761613092, 0.2461641923224007, '18.6%'),\n",
       "  Text(-0.4067237411413285, -0.4411074680755265, '21.1%'),\n",
       "  Text(0.4068526606836776, -0.44098856277075066, '26.3%')])"
      ]
     },
     "execution_count": 41,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 720x576 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure(figsize=(10,8))\n",
    "plt.pie(headcount_by_cities.values, labels=headcount_by_cities.index, autopct='%1.1f%%')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 42,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<style  type=\"text/css\" >\n",
       "</style>  \n",
       "<table id=\"T_f7f733b0_e590_11e9_9ee1_701ce71031ef\" > \n",
       "<thead>    <tr> \n",
       "        <th class=\"col_heading level0 col0\" >city</th> \n",
       "        <th class=\"col_heading level0 col1\" >salary_mean</th> \n",
       "        <th class=\"col_heading level0 col2\" >salary_95_min</th> \n",
       "        <th class=\"col_heading level0 col3\" >salary_median</th> \n",
       "        <th class=\"col_heading level0 col4\" >salary_95_max</th> \n",
       "        <th class=\"col_heading level0 col5\" >head_count</th> \n",
       "        <th class=\"col_heading level0 col6\" >percentage</th> \n",
       "    </tr></thead> \n",
       "<tbody>    <tr> \n",
       "        <td id=\"T_f7f733b0_e590_11e9_9ee1_701ce71031efrow0_col0\" class=\"data row0 col0\" >北京</td> \n",
       "        <td id=\"T_f7f733b0_e590_11e9_9ee1_701ce71031efrow0_col1\" class=\"data row0 col1\" >17327</td> \n",
       "        <td id=\"T_f7f733b0_e590_11e9_9ee1_701ce71031efrow0_col2\" class=\"data row0 col2\" >4500</td> \n",
       "        <td id=\"T_f7f733b0_e590_11e9_9ee1_701ce71031efrow0_col3\" class=\"data row0 col3\" >15000</td> \n",
       "        <td id=\"T_f7f733b0_e590_11e9_9ee1_701ce71031efrow0_col4\" class=\"data row0 col4\" >45000</td> \n",
       "        <td id=\"T_f7f733b0_e590_11e9_9ee1_701ce71031efrow0_col5\" class=\"data row0 col5\" >27995</td> \n",
       "        <td id=\"T_f7f733b0_e590_11e9_9ee1_701ce71031efrow0_col6\" class=\"data row0 col6\" >18.60%</td> \n",
       "    </tr>    <tr> \n",
       "        <td id=\"T_f7f733b0_e590_11e9_9ee1_701ce71031efrow1_col0\" class=\"data row1 col0\" >上海</td> \n",
       "        <td id=\"T_f7f733b0_e590_11e9_9ee1_701ce71031efrow1_col1\" class=\"data row1 col1\" >16163</td> \n",
       "        <td id=\"T_f7f733b0_e590_11e9_9ee1_701ce71031efrow1_col2\" class=\"data row1 col2\" >5250</td> \n",
       "        <td id=\"T_f7f733b0_e590_11e9_9ee1_701ce71031efrow1_col3\" class=\"data row1 col3\" >14583</td> \n",
       "        <td id=\"T_f7f733b0_e590_11e9_9ee1_701ce71031efrow1_col4\" class=\"data row1 col4\" >37500</td> \n",
       "        <td id=\"T_f7f733b0_e590_11e9_9ee1_701ce71031efrow1_col5\" class=\"data row1 col5\" >51135</td> \n",
       "        <td id=\"T_f7f733b0_e590_11e9_9ee1_701ce71031efrow1_col6\" class=\"data row1 col6\" >33.97%</td> \n",
       "    </tr>    <tr> \n",
       "        <td id=\"T_f7f733b0_e590_11e9_9ee1_701ce71031efrow2_col0\" class=\"data row2 col0\" >深圳</td> \n",
       "        <td id=\"T_f7f733b0_e590_11e9_9ee1_701ce71031efrow2_col1\" class=\"data row2 col1\" >15969</td> \n",
       "        <td id=\"T_f7f733b0_e590_11e9_9ee1_701ce71031efrow2_col2\" class=\"data row2 col2\" >5250</td> \n",
       "        <td id=\"T_f7f733b0_e590_11e9_9ee1_701ce71031efrow2_col3\" class=\"data row2 col3\" >14500</td> \n",
       "        <td id=\"T_f7f733b0_e590_11e9_9ee1_701ce71031efrow2_col4\" class=\"data row2 col4\" >37500</td> \n",
       "        <td id=\"T_f7f733b0_e590_11e9_9ee1_701ce71031efrow2_col5\" class=\"data row2 col5\" >39558</td> \n",
       "        <td id=\"T_f7f733b0_e590_11e9_9ee1_701ce71031efrow2_col6\" class=\"data row2 col6\" >26.28%</td> \n",
       "    </tr>    <tr> \n",
       "        <td id=\"T_f7f733b0_e590_11e9_9ee1_701ce71031efrow3_col0\" class=\"data row3 col0\" >广州</td> \n",
       "        <td id=\"T_f7f733b0_e590_11e9_9ee1_701ce71031efrow3_col1\" class=\"data row3 col1\" >13052</td> \n",
       "        <td id=\"T_f7f733b0_e590_11e9_9ee1_701ce71031efrow3_col2\" class=\"data row3 col2\" >3750</td> \n",
       "        <td id=\"T_f7f733b0_e590_11e9_9ee1_701ce71031efrow3_col3\" class=\"data row3 col3\" >12500</td> \n",
       "        <td id=\"T_f7f733b0_e590_11e9_9ee1_701ce71031efrow3_col4\" class=\"data row3 col4\" >30000</td> \n",
       "        <td id=\"T_f7f733b0_e590_11e9_9ee1_701ce71031efrow3_col5\" class=\"data row3 col5\" >31832</td> \n",
       "        <td id=\"T_f7f733b0_e590_11e9_9ee1_701ce71031efrow3_col6\" class=\"data row3 col6\" >21.15%</td> \n",
       "    </tr></tbody> \n",
       "</table> "
      ],
      "text/plain": [
       "<pandas.io.formats.style.Styler at 0x25329e8d048>"
      ]
     },
     "execution_count": 42,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data_pl=get_sub_stats_by_col(data,'city')\n",
    "apply_style(data_pl)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 43,
   "metadata": {},
   "outputs": [],
   "source": [
    "salary_beijing=data[data.city=='北京'].monthly_salary\n",
    "salary_shanghai=data[data.city=='上海'].monthly_salary\n",
    "salary_guangzhou=data[data.city=='广州'].monthly_salary\n",
    "salary_shenzhen=data[data.city=='深圳'].monthly_salary"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": 44,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "F_onewayResult(statistic=50.84526200888846, pvalue=1.0275957592210318e-12)"
      ]
     },
     "execution_count": 44,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "stats.f_oneway(salary_beijing, salary_shanghai)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 45,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "F_onewayResult(statistic=97.47689113559011, pvalue=5.913839956892184e-23)"
      ]
     },
     "execution_count": 45,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "stats.f_oneway(salary_shanghai, salary_shenzhen)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 46,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "F_onewayResult(statistic=753.081327355426, pvalue=2.8787315861164444e-163)"
      ]
     },
     "execution_count": 46,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "stats.f_oneway(salary_shenzhen, salary_guangzhou)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 编程语言"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 47,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<style  type=\"text/css\" >\n",
       "</style>  \n",
       "<table id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031ef\" > \n",
       "<thead>    <tr> \n",
       "        <th class=\"col_heading level0 col0\" >rank</th> \n",
       "        <th class=\"col_heading level0 col1\" >pl_</th> \n",
       "        <th class=\"col_heading level0 col2\" >salary_mean</th> \n",
       "        <th class=\"col_heading level0 col3\" >salary_median</th> \n",
       "        <th class=\"col_heading level0 col4\" >salary_95_min</th> \n",
       "        <th class=\"col_heading level0 col5\" >salary_95_max</th> \n",
       "        <th class=\"col_heading level0 col6\" >head_count</th> \n",
       "        <th class=\"col_heading level0 col7\" >percentage</th> \n",
       "    </tr></thead> \n",
       "<tbody>    <tr> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow0_col0\" class=\"data row0 col0\" >1</td> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow0_col1\" class=\"data row0 col1\" >julia</td> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow0_col2\" class=\"data row0 col2\" >27500</td> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow0_col3\" class=\"data row0 col3\" >27500</td> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow0_col4\" class=\"data row0 col4\" >17500</td> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow0_col5\" class=\"data row0 col5\" >37500</td> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow0_col6\" class=\"data row0 col6\" >2</td> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow0_col7\" class=\"data row0 col7\" >0.00%</td> \n",
       "    </tr>    <tr> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow1_col0\" class=\"data row1 col0\" >2</td> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow1_col1\" class=\"data row1 col1\" >rust</td> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow1_col2\" class=\"data row1 col2\" >25854</td> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow1_col3\" class=\"data row1 col3\" >20000</td> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow1_col4\" class=\"data row1 col4\" >8633</td> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow1_col5\" class=\"data row1 col5\" >62125</td> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow1_col6\" class=\"data row1 col6\" >169</td> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow1_col7\" class=\"data row1 col7\" >0.08%</td> \n",
       "    </tr>    <tr> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow2_col0\" class=\"data row2 col0\" >3</td> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow2_col1\" class=\"data row2 col1\" >haskell</td> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow2_col2\" class=\"data row2 col2\" >24255</td> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow2_col3\" class=\"data row2 col3\" >20278</td> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow2_col4\" class=\"data row2 col4\" >7875</td> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow2_col5\" class=\"data row2 col5\" >45000</td> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow2_col6\" class=\"data row2 col6\" >47</td> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow2_col7\" class=\"data row2 col7\" >0.02%</td> \n",
       "    </tr>    <tr> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow3_col0\" class=\"data row3 col0\" >4</td> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow3_col1\" class=\"data row3 col1\" >python</td> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow3_col2\" class=\"data row3 col2\" >20645</td> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow3_col3\" class=\"data row3 col3\" >18000</td> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow3_col4\" class=\"data row3 col4\" >4500</td> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow3_col5\" class=\"data row3 col5\" >45000</td> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow3_col6\" class=\"data row3 col6\" >17887</td> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow3_col7\" class=\"data row3 col7\" >8.51%</td> \n",
       "    </tr>    <tr> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow4_col0\" class=\"data row4 col0\" >5</td> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow4_col1\" class=\"data row4 col1\" >matlab</td> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow4_col2\" class=\"data row4 col2\" >20089</td> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow4_col3\" class=\"data row4 col3\" >18500</td> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow4_col4\" class=\"data row4 col4\" >5565</td> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow4_col5\" class=\"data row4 col5\" >40000</td> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow4_col6\" class=\"data row4 col6\" >3002</td> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow4_col7\" class=\"data row4 col7\" >1.43%</td> \n",
       "    </tr>    <tr> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow5_col0\" class=\"data row5 col0\" >6</td> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow5_col1\" class=\"data row5 col1\" >go</td> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow5_col2\" class=\"data row5 col2\" >19893</td> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow5_col3\" class=\"data row5 col3\" >17500</td> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow5_col4\" class=\"data row5 col4\" >6000</td> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow5_col5\" class=\"data row5 col5\" >45000</td> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow5_col6\" class=\"data row5 col6\" >18060</td> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow5_col7\" class=\"data row5 col7\" >8.60%</td> \n",
       "    </tr>    <tr> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow6_col0\" class=\"data row6 col0\" >7</td> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow6_col1\" class=\"data row6 col1\" >lua</td> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow6_col2\" class=\"data row6 col2\" >18814</td> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow6_col3\" class=\"data row6 col3\" >17500</td> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow6_col4\" class=\"data row6 col4\" >5131</td> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow6_col5\" class=\"data row6 col5\" >40000</td> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow6_col6\" class=\"data row6 col6\" >1944</td> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow6_col7\" class=\"data row6 col7\" >0.93%</td> \n",
       "    </tr>    <tr> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow7_col0\" class=\"data row7 col0\" >8</td> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow7_col1\" class=\"data row7 col1\" >perl</td> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow7_col2\" class=\"data row7 col2\" >18664</td> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow7_col3\" class=\"data row7 col3\" >15500</td> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow7_col4\" class=\"data row7 col4\" >4268</td> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow7_col5\" class=\"data row7 col5\" >45726</td> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow7_col6\" class=\"data row7 col6\" >1678</td> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow7_col7\" class=\"data row7 col7\" >0.80%</td> \n",
       "    </tr>    <tr> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow8_col0\" class=\"data row8 col0\" >9</td> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow8_col1\" class=\"data row8 col1\" >kotlin</td> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow8_col2\" class=\"data row8 col2\" >18003</td> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow8_col3\" class=\"data row8 col3\" >15571</td> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow8_col4\" class=\"data row8 col4\" >7000</td> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow8_col5\" class=\"data row8 col5\" >47781</td> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow8_col6\" class=\"data row8 col6\" >491</td> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow8_col7\" class=\"data row8 col7\" >0.23%</td> \n",
       "    </tr>    <tr> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow9_col0\" class=\"data row9 col0\" >10</td> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow9_col1\" class=\"data row9 col1\" >cpp</td> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow9_col2\" class=\"data row9 col2\" >17842</td> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow9_col3\" class=\"data row9 col3\" >15000</td> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow9_col4\" class=\"data row9 col4\" >5000</td> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow9_col5\" class=\"data row9 col5\" >40000</td> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow9_col6\" class=\"data row9 col6\" >34456</td> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow9_col7\" class=\"data row9 col7\" >16.40%</td> \n",
       "    </tr>    <tr> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow10_col0\" class=\"data row10 col0\" >11</td> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow10_col1\" class=\"data row10 col1\" >ruby</td> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow10_col2\" class=\"data row10 col2\" >17278</td> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow10_col3\" class=\"data row10 col3\" >16517</td> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow10_col4\" class=\"data row10 col4\" >4857</td> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow10_col5\" class=\"data row10 col5\" >35000</td> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow10_col6\" class=\"data row10 col6\" >640</td> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow10_col7\" class=\"data row10 col7\" >0.30%</td> \n",
       "    </tr>    <tr> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow11_col0\" class=\"data row11 col0\" >12</td> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow11_col1\" class=\"data row11 col1\" >swift</td> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow11_col2\" class=\"data row11 col2\" >16210</td> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow11_col3\" class=\"data row11 col3\" >15000</td> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow11_col4\" class=\"data row11 col4\" >5250</td> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow11_col5\" class=\"data row11 col5\" >37500</td> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow11_col6\" class=\"data row11 col6\" >2078</td> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow11_col7\" class=\"data row11 col7\" >0.99%</td> \n",
       "    </tr>    <tr> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow12_col0\" class=\"data row12 col0\" >13</td> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow12_col1\" class=\"data row12 col1\" >java</td> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow12_col2\" class=\"data row12 col2\" >15704</td> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow12_col3\" class=\"data row12 col3\" >14000</td> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow12_col4\" class=\"data row12 col4\" >4750</td> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow12_col5\" class=\"data row12 col5\" >37500</td> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow12_col6\" class=\"data row12 col6\" >67787</td> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow12_col7\" class=\"data row12 col7\" >32.27%</td> \n",
       "    </tr>    <tr> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow13_col0\" class=\"data row13 col0\" >14</td> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow13_col1\" class=\"data row13 col1\" >typescript</td> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow13_col2\" class=\"data row13 col2\" >15492</td> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow13_col3\" class=\"data row13 col3\" >15000</td> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow13_col4\" class=\"data row13 col4\" >6500</td> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow13_col5\" class=\"data row13 col5\" >32500</td> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow13_col6\" class=\"data row13 col6\" >741</td> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow13_col7\" class=\"data row13 col7\" >0.35%</td> \n",
       "    </tr>    <tr> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow14_col0\" class=\"data row14 col0\" >15</td> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow14_col1\" class=\"data row14 col1\" >php</td> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow14_col2\" class=\"data row14 col2\" >15058</td> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow14_col3\" class=\"data row14 col3\" >12500</td> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow14_col4\" class=\"data row14 col4\" >4000</td> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow14_col5\" class=\"data row14 col5\" >37500</td> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow14_col6\" class=\"data row14 col6\" >10817</td> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow14_col7\" class=\"data row14 col7\" >5.15%</td> \n",
       "    </tr>    <tr> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow15_col0\" class=\"data row15 col0\" >16</td> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow15_col1\" class=\"data row15 col1\" >objective_c</td> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow15_col2\" class=\"data row15 col2\" >14772</td> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow15_col3\" class=\"data row15 col3\" >12500</td> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow15_col4\" class=\"data row15 col4\" >7000</td> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow15_col5\" class=\"data row15 col5\" >27179</td> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow15_col6\" class=\"data row15 col6\" >298</td> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow15_col7\" class=\"data row15 col7\" >0.14%</td> \n",
       "    </tr>    <tr> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow16_col0\" class=\"data row16 col0\" >17</td> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow16_col1\" class=\"data row16 col1\" >visual_basic</td> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow16_col2\" class=\"data row16 col2\" >14540</td> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow16_col3\" class=\"data row16 col3\" >12500</td> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow16_col4\" class=\"data row16 col4\" >6494</td> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow16_col5\" class=\"data row16 col5\" >30000</td> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow16_col6\" class=\"data row16 col6\" >33</td> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow16_col7\" class=\"data row16 col7\" >0.02%</td> \n",
       "    </tr>    <tr> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow17_col0\" class=\"data row17 col0\" >18</td> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow17_col1\" class=\"data row17 col1\" >javascript</td> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow17_col2\" class=\"data row17 col2\" >13378</td> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow17_col3\" class=\"data row17 col3\" >12500</td> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow17_col4\" class=\"data row17 col4\" >5000</td> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow17_col5\" class=\"data row17 col5\" >27500</td> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow17_col6\" class=\"data row17 col6\" >26489</td> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow17_col7\" class=\"data row17 col7\" >12.61%</td> \n",
       "    </tr>    <tr> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow18_col0\" class=\"data row18 col0\" >19</td> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow18_col1\" class=\"data row18 col1\" >c_sharp</td> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow18_col2\" class=\"data row18 col2\" >12834</td> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow18_col3\" class=\"data row18 col3\" >12500</td> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow18_col4\" class=\"data row18 col4\" >4508</td> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow18_col5\" class=\"data row18 col5\" >27500</td> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow18_col6\" class=\"data row18 col6\" >22751</td> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow18_col7\" class=\"data row18 col7\" >10.83%</td> \n",
       "    </tr>    <tr> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow19_col0\" class=\"data row19 col0\" >20</td> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow19_col1\" class=\"data row19 col1\" >delphi</td> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow19_col2\" class=\"data row19 col2\" >12526</td> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow19_col3\" class=\"data row19 col3\" >12500</td> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow19_col4\" class=\"data row19 col4\" >4917</td> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow19_col5\" class=\"data row19 col5\" >25000</td> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow19_col6\" class=\"data row19 col6\" >490</td> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow19_col7\" class=\"data row19 col7\" >0.23%</td> \n",
       "    </tr>    <tr> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow20_col0\" class=\"data row20 col0\" >21</td> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow20_col1\" class=\"data row20 col1\" >vba</td> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow20_col2\" class=\"data row20 col2\" >12169</td> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow20_col3\" class=\"data row20 col3\" >11000</td> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow20_col4\" class=\"data row20 col4\" >5250</td> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow20_col5\" class=\"data row20 col5\" >25000</td> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow20_col6\" class=\"data row20 col6\" >210</td> \n",
       "        <td id=\"T_f8eb8dd2_e590_11e9_94bd_701ce71031efrow20_col7\" class=\"data row20 col7\" >0.10%</td> \n",
       "    </tr></tbody> \n",
       "</table> "
      ],
      "text/plain": [
       "<pandas.io.formats.style.Styler at 0x2532e189ef0>"
      ]
     },
     "execution_count": 47,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data_pl=get_sub_stats_by_prefix(data,'pl_')\n",
    "apply_style(data_pl)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "数据显示，haskell才是最赚钱的编程语言。python是主流语言里面最赚钱的，比java的工资多了3000元！vb是最不赚钱的了。其中，最赚钱的编程语言和最不赚钱的，工资居然差了2倍。所以，要选好编程语言呀！"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 教育"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 48,
   "metadata": {},
   "outputs": [],
   "source": [
    "edu_counts=data[~(data.edu=='')].groupby(by=['edu']).headcount.sum()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 49,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "edu\n",
       "初中及以下        9\n",
       "博士         224\n",
       "大专       38683\n",
       "本科       82164\n",
       "硕士        4265\n",
       "高中         436\n",
       "Name: headcount, dtype: int64"
      ]
     },
     "execution_count": 49,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "edu_counts"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 50,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "([<matplotlib.patches.Wedge at 0x25323f314e0>,\n",
       "  <matplotlib.patches.Wedge at 0x25323f31c88>,\n",
       "  <matplotlib.patches.Wedge at 0x25323ffe3c8>,\n",
       "  <matplotlib.patches.Wedge at 0x25323ffeac8>,\n",
       "  <matplotlib.patches.Wedge at 0x25324376208>,\n",
       "  <matplotlib.patches.Wedge at 0x25324376908>],\n",
       " [Text(1.0999999722081548, 0.00024726920281531174, '初中及以下'),\n",
       "  Text(1.0999799062157962, 0.006648753378512963, '博士'),\n",
       "  Text(0.6147218916290134, 0.9122044704736147, '大专'),\n",
       "  Text(-0.722191142431751, -0.8297228174475633, '本科'),\n",
       "  Text(1.0909581777600117, -0.14074890542578003, '硕士'),\n",
       "  Text(1.0999347763982088, -0.011978633887990925, '高中')],\n",
       " [Text(0.5999999848408116, 0.00013487411062653365, '0.0%'),\n",
       "  Text(0.5999890397540706, 0.003626592751916161, '0.2%'),\n",
       "  Text(0.3353028499794618, 0.4975660748037898, '30.8%'),\n",
       "  Text(-0.3939224413264096, -0.4525760822441254, '65.3%'),\n",
       "  Text(0.5950680969600063, -0.07677213023224363, '3.4%'),\n",
       "  Text(0.599964423489932, -0.006533800302540503, '0.3%')])"
      ]
     },
     "execution_count": 50,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 720x576 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure(figsize=(10,8))\n",
    "plt.pie(edu_counts.values, labels=edu_counts.index, autopct='%1.1f%%')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 51,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<style  type=\"text/css\" >\n",
       "</style>  \n",
       "<table id=\"T_f9978fc8_e590_11e9_8139_701ce71031ef\" > \n",
       "<thead>    <tr> \n",
       "        <th class=\"col_heading level0 col0\" >edu</th> \n",
       "        <th class=\"col_heading level0 col1\" >salary_mean</th> \n",
       "        <th class=\"col_heading level0 col2\" >salary_95_min</th> \n",
       "        <th class=\"col_heading level0 col3\" >salary_median</th> \n",
       "        <th class=\"col_heading level0 col4\" >salary_95_max</th> \n",
       "        <th class=\"col_heading level0 col5\" >head_count</th> \n",
       "        <th class=\"col_heading level0 col6\" >percentage</th> \n",
       "    </tr></thead> \n",
       "<tbody>    <tr> \n",
       "        <td id=\"T_f9978fc8_e590_11e9_8139_701ce71031efrow0_col0\" class=\"data row0 col0\" >博士</td> \n",
       "        <td id=\"T_f9978fc8_e590_11e9_8139_701ce71031efrow0_col1\" class=\"data row0 col1\" >30215</td> \n",
       "        <td id=\"T_f9978fc8_e590_11e9_8139_701ce71031efrow0_col2\" class=\"data row0 col2\" >13452</td> \n",
       "        <td id=\"T_f9978fc8_e590_11e9_8139_701ce71031efrow0_col3\" class=\"data row0 col3\" >29000</td> \n",
       "        <td id=\"T_f9978fc8_e590_11e9_8139_701ce71031efrow0_col4\" class=\"data row0 col4\" >56500</td> \n",
       "        <td id=\"T_f9978fc8_e590_11e9_8139_701ce71031efrow0_col5\" class=\"data row0 col5\" >224</td> \n",
       "        <td id=\"T_f9978fc8_e590_11e9_8139_701ce71031efrow0_col6\" class=\"data row0 col6\" >0.18%</td> \n",
       "    </tr>    <tr> \n",
       "        <td id=\"T_f9978fc8_e590_11e9_8139_701ce71031efrow1_col0\" class=\"data row1 col0\" >硕士</td> \n",
       "        <td id=\"T_f9978fc8_e590_11e9_8139_701ce71031efrow1_col1\" class=\"data row1 col1\" >22025</td> \n",
       "        <td id=\"T_f9978fc8_e590_11e9_8139_701ce71031efrow1_col2\" class=\"data row1 col2\" >3842</td> \n",
       "        <td id=\"T_f9978fc8_e590_11e9_8139_701ce71031efrow1_col3\" class=\"data row1 col3\" >20000</td> \n",
       "        <td id=\"T_f9978fc8_e590_11e9_8139_701ce71031efrow1_col4\" class=\"data row1 col4\" >45521</td> \n",
       "        <td id=\"T_f9978fc8_e590_11e9_8139_701ce71031efrow1_col5\" class=\"data row1 col5\" >4265</td> \n",
       "        <td id=\"T_f9978fc8_e590_11e9_8139_701ce71031efrow1_col6\" class=\"data row1 col6\" >3.39%</td> \n",
       "    </tr>    <tr> \n",
       "        <td id=\"T_f9978fc8_e590_11e9_8139_701ce71031efrow2_col0\" class=\"data row2 col0\" >本科</td> \n",
       "        <td id=\"T_f9978fc8_e590_11e9_8139_701ce71031efrow2_col1\" class=\"data row2 col1\" >16829</td> \n",
       "        <td id=\"T_f9978fc8_e590_11e9_8139_701ce71031efrow2_col2\" class=\"data row2 col2\" >5250</td> \n",
       "        <td id=\"T_f9978fc8_e590_11e9_8139_701ce71031efrow2_col3\" class=\"data row2 col3\" >15000</td> \n",
       "        <td id=\"T_f9978fc8_e590_11e9_8139_701ce71031efrow2_col4\" class=\"data row2 col4\" >37500</td> \n",
       "        <td id=\"T_f9978fc8_e590_11e9_8139_701ce71031efrow2_col5\" class=\"data row2 col5\" >82164</td> \n",
       "        <td id=\"T_f9978fc8_e590_11e9_8139_701ce71031efrow2_col6\" class=\"data row2 col6\" >65.32%</td> \n",
       "    </tr>    <tr> \n",
       "        <td id=\"T_f9978fc8_e590_11e9_8139_701ce71031efrow3_col0\" class=\"data row3 col0\" >初中及以下</td> \n",
       "        <td id=\"T_f9978fc8_e590_11e9_8139_701ce71031efrow3_col1\" class=\"data row3 col1\" >16111</td> \n",
       "        <td id=\"T_f9978fc8_e590_11e9_8139_701ce71031efrow3_col2\" class=\"data row3 col2\" >10000</td> \n",
       "        <td id=\"T_f9978fc8_e590_11e9_8139_701ce71031efrow3_col3\" class=\"data row3 col3\" >12500</td> \n",
       "        <td id=\"T_f9978fc8_e590_11e9_8139_701ce71031efrow3_col4\" class=\"data row3 col4\" >30000</td> \n",
       "        <td id=\"T_f9978fc8_e590_11e9_8139_701ce71031efrow3_col5\" class=\"data row3 col5\" >9</td> \n",
       "        <td id=\"T_f9978fc8_e590_11e9_8139_701ce71031efrow3_col6\" class=\"data row3 col6\" >0.01%</td> \n",
       "    </tr>    <tr> \n",
       "        <td id=\"T_f9978fc8_e590_11e9_8139_701ce71031efrow4_col0\" class=\"data row4 col0\" >大专</td> \n",
       "        <td id=\"T_f9978fc8_e590_11e9_8139_701ce71031efrow4_col1\" class=\"data row4 col1\" >12663</td> \n",
       "        <td id=\"T_f9978fc8_e590_11e9_8139_701ce71031efrow4_col2\" class=\"data row4 col2\" >4000</td> \n",
       "        <td id=\"T_f9978fc8_e590_11e9_8139_701ce71031efrow4_col3\" class=\"data row4 col3\" >12500</td> \n",
       "        <td id=\"T_f9978fc8_e590_11e9_8139_701ce71031efrow4_col4\" class=\"data row4 col4\" >27500</td> \n",
       "        <td id=\"T_f9978fc8_e590_11e9_8139_701ce71031efrow4_col5\" class=\"data row4 col5\" >38683</td> \n",
       "        <td id=\"T_f9978fc8_e590_11e9_8139_701ce71031efrow4_col6\" class=\"data row4 col6\" >30.75%</td> \n",
       "    </tr>    <tr> \n",
       "        <td id=\"T_f9978fc8_e590_11e9_8139_701ce71031efrow5_col0\" class=\"data row5 col0\" >高中</td> \n",
       "        <td id=\"T_f9978fc8_e590_11e9_8139_701ce71031efrow5_col1\" class=\"data row5 col1\" >8815</td> \n",
       "        <td id=\"T_f9978fc8_e590_11e9_8139_701ce71031efrow5_col2\" class=\"data row5 col2\" >3540</td> \n",
       "        <td id=\"T_f9978fc8_e590_11e9_8139_701ce71031efrow5_col3\" class=\"data row5 col3\" >7000</td> \n",
       "        <td id=\"T_f9978fc8_e590_11e9_8139_701ce71031efrow5_col4\" class=\"data row5 col4\" >24333</td> \n",
       "        <td id=\"T_f9978fc8_e590_11e9_8139_701ce71031efrow5_col5\" class=\"data row5 col5\" >436</td> \n",
       "        <td id=\"T_f9978fc8_e590_11e9_8139_701ce71031efrow5_col6\" class=\"data row5 col6\" >0.35%</td> \n",
       "    </tr></tbody> \n",
       "</table> "
      ],
      "text/plain": [
       "<pandas.io.formats.style.Styler at 0x253228ea1d0>"
      ]
     },
     "execution_count": 51,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data_edu=get_sub_stats_by_col(data[data.edu.isin(['初中及以下','高中','大专','本科','硕士','博士'])], 'edu')\n",
    "apply_style(data_edu)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 52,
   "metadata": {},
   "outputs": [],
   "source": [
    "salary_associate=data[data.edu=='大专'].monthly_salary\n",
    "salary_bachelor=data[data.edu=='本科'].monthly_salary\n",
    "salary_master=data[data.edu=='硕士'].monthly_salary\n",
    "salary_phd=data[data.edu=='博士'].monthly_salary"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": 53,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "大专，本科，硕士，博士的平均工资分别是12886，17124，22339，31055。中位数分别是12500， 15000，20000， 29166。\n"
     ]
    }
   ],
   "source": [
    "print('大专，本科，硕士，博士的平均工资分别是{:.0f}，{:.0f}，{:.0f}，{:.0f}。中位数分别是{:.0f}， {:.0f}，{:.0f}， {:.0f}。'.format(\n",
    "    salary_associate.mean(),salary_bachelor.mean(),salary_master.mean(),salary_phd.mean(),\n",
    "    salary_associate.median(),salary_bachelor.median(),salary_master.median(),salary_phd.median()))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 54,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "F_onewayResult(statistic=50.58838736859085, pvalue=1.7170968416536228e-12)"
      ]
     },
     "execution_count": 54,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "stats.f_oneway(salary_phd, salary_master)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 55,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "F_onewayResult(statistic=538.6931956652704, pvalue=4.615420197073877e-118)"
      ]
     },
     "execution_count": 55,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "stats.f_oneway(salary_master, salary_bachelor)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 56,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "F_onewayResult(statistic=2675.1407626078626, pvalue=0.0)"
      ]
     },
     "execution_count": 56,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "stats.f_oneway(salary_bachelor, salary_associate)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "经过Oneway Anova Test，证明从大专到博士，学历每提高一级，工资都有显著的提高。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 57,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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yyeffEJFRQWvvPIKc+fOjUoOzzzzTFSfBw4c4O2332bQoEFxyz799FN27tzJ+vXree+991i4cGHM+K+55hoWLVrEZZddxtq1a/ne974HwMaNG1m5ciWzZ89m+fLlcdc/Ly+PNWvW4PP5eOSRR2LWqaio4NVXX+XPf/4zixYtYsOGDbz55pusXbuW1157jblz53L99dcDMH36dA455BDuvfdeduzYEXd9k3HcccexcuVKTj/9dFatWsXgwYPj1v3www+ZMmUKS5cu5Tvf+U7cOjNmzOCll16iurqajz/+GIj+P7B69Wreeecd8vLyePXVV9m+fTs33ngjAJ9//jlff/01vXv3jhvHnXfeycUXX8y6dev4/PPPefHFFwEYP348r732GpWVlXFnoZWVleTk5FBeXs7ll1/Onj174vazfv16hg0bxsqVKwGYPHkypaWlAJSXlzNu3DgWL17MwIEDKS8v58MPP6SiooKpU6fy5JNPArBy5Up++MMfxu1DpLGEySE0WwDWRPy8BvRsg9hSburUwHn1Y445hq+/Tv7I2KmnngrAoEGDqK6upmfPnlx22WWce+65LFmyJO4GCuD3v/991F51rLJu3bqxf/9+hgwZ4qmbjEsuuYTc3NyY61VXVxd+HTrMM3jwYN59992Ybb3zzjsUFBSE60+dOpW3336b0047DTNj6NChvP322wDk5+fTqVMn8vPzycnJibu+iYTiGzx4MMuWLWP8+PE8/fTT4TGP5f777ycvL4/3338/bnu5ubk8/PDDTJkyhU8++SRc3vj/wFFHHcXmzZvx+Xxcc8014XYeeughfvzjHyeMvbKyMjymQ4YMCY9LMuM8ePBgBg4cyNixY1m5ciXdunWLuR4AAwcOjJqRnnDCCdTU1PDFF19w+OGH0717d7Zu3cof//hHRo0axd///nc++OADjj/+eL788kvWrl3LwIED6dq1a8L1EYnU1MwhNFuYB9wEnAvMBu5Ib1jp0b1796jlrl278tVXXwGETrzHLNuwYQMAW7ZsoW/fvuzYsYOePXuycuVKjjrqKM9sIWT//v3s2LGDfv36JSzbsGED559/Pn/961/5xS9+kXAdYsXXeL0OOeSQ8CGn0B4mwObNm4HA7CA/Pz9m+/379w/Xe+211/jRj37EgAED2LhxI8451q9fz4knxj6qGGvdYomML7S3fcopp7B69WrOPvtsVq5cmXDmMHfuXB544AHmzp0bt71HHnmESZMmsXTp0qjxaTxWL774InPnzuUvf/lLOKnt2rWL3NxcjjjiiITrceKJJ7J+/XqAqHFJZpzfeOMNRowYwapVq/j0009Zt25dzPUA6NHDezny6aefzqJFizjvvPMA+MEPfsC1117L2rVrmT9/fvg8ycUXX8wVV1wRTooiyUqYHJxztzrnbg28dOc45250zo0D6tsmvPQqLCzkmWeeYcSIEaxbty5u2caNGxk1ahSfffYZEyZMoE+fPjz33HOMGDEivEELidzDW7JkiefkZayy/v37s3DhQkaPHs2FF14Y7jeWU045ha1btzJy5Ej+8Ic/xKwzZswYnnvuOaZPn84333wTLq+qqmLUqFGUlZXxk5/8xBMvBGZHw4YNY8SIEdx0003ccsstDBw4kFGjRjFixAhuv/12FixYELPfWOsWUldXx6GHHgrAeeedx3333ce0adPo2TMwCR08eDDHHnssxx13HEceeSTHHnts3DHo0qULRx99NP3792f58uUx2yssLGTBggWMGTMGgA8++CBmW6eccgozZsxgzJgxXHzxxbz11ls8/PDDcWcNketxww038NRTT3HGGWdw+OGHM3bsWAD+67/+ixEjRvD9738/7gwoPz+fkpIShg8fzkcffURBQUHM9Yhn8uTJLFq0iAkTJgBw5ZVXUlpais/n43e/+x1HH300AJMmTcLMOOOMMxK2J+KRzCVNQBkwEziTwPmG1cm8L50/zb2UtaViXQKbrI8//jipsueff975fD539tlnu4kTJ7qlS5e2qL9Mi7Vu+/fvd0OGDHHDhg1zr7zySgaiSmzx4sVu9OjRbuzYsW78+PFuzZo1Mdfjvffec0OHDnUjRoxwlZWVGYi0+d566y132mmnuYcffjjToUgWIclLWc0FD00kYmaHB5PDJcBjwOPOuZp0JaxkFBQUuE2bNmUyBJGkNL7a6rDDDuPZZ5/NTDDS4ZnZZudcQVP1kr19xu3AvwB1QAXwW+C8locn6VRSUsL27dtT3m5N8FvXeSn81nUq9O3bN6ufDZ3t30sRiSXZ5HCSc26Uma12zr1gZtelNSpple3bt7Plb1vg8BQ3HLxid5ftSnHDrfBZpgMQOTglmxx2mdnNwBFmVgx8lMaYJBUOh4ZRDSltMmdt4PqFVLfb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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "\n",
    "order=['大专','本科','硕士','博士']\n",
    "a=sns.boxplot(y='edu',x='monthly_salary',order=order,data=data[data.edu.isin(order)], orient='h')\n",
    "plt.annotate('https://github.com/juwikuang/job_survey', xy=(0.5,1.5), xytext=(2, 1.55))\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 工作经验 Working Experience"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 58,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<style  type=\"text/css\" >\n",
       "</style>  \n",
       "<table id=\"T_fef8fa36_e590_11e9_bd8b_701ce71031ef\" > \n",
       "<thead>    <tr> \n",
       "        <th class=\"col_heading level0 col0\" >experience</th> \n",
       "        <th class=\"col_heading level0 col1\" >salary_mean</th> \n",
       "        <th class=\"col_heading level0 col2\" >salary_95_min</th> \n",
       "        <th class=\"col_heading level0 col3\" >salary_median</th> \n",
       "        <th class=\"col_heading level0 col4\" >salary_95_max</th> \n",
       "        <th class=\"col_heading level0 col5\" >head_count</th> \n",
       "        <th class=\"col_heading level0 col6\" >percentage</th> \n",
       "    </tr></thead> \n",
       "<tbody>    <tr> \n",
       "        <td id=\"T_fef8fa36_e590_11e9_bd8b_701ce71031efrow0_col0\" class=\"data row0 col0\" >10+</td> \n",
       "        <td id=\"T_fef8fa36_e590_11e9_bd8b_701ce71031efrow0_col1\" class=\"data row0 col1\" >31636</td> \n",
       "        <td id=\"T_fef8fa36_e590_11e9_bd8b_701ce71031efrow0_col2\" class=\"data row0 col2\" >12500</td> \n",
       "        <td id=\"T_fef8fa36_e590_11e9_bd8b_701ce71031efrow0_col3\" class=\"data row0 col3\" >30000</td> \n",
       "        <td id=\"T_fef8fa36_e590_11e9_bd8b_701ce71031efrow0_col4\" class=\"data row0 col4\" >60000</td> \n",
       "        <td id=\"T_fef8fa36_e590_11e9_bd8b_701ce71031efrow0_col5\" class=\"data row0 col5\" >428</td> \n",
       "        <td id=\"T_fef8fa36_e590_11e9_bd8b_701ce71031efrow0_col6\" class=\"data row0 col6\" >0.28%</td> \n",
       "    </tr>    <tr> \n",
       "        <td id=\"T_fef8fa36_e590_11e9_bd8b_701ce71031efrow1_col0\" class=\"data row1 col0\" >5_10</td> \n",
       "        <td id=\"T_fef8fa36_e590_11e9_bd8b_701ce71031efrow1_col1\" class=\"data row1 col1\" >22503</td> \n",
       "        <td id=\"T_fef8fa36_e590_11e9_bd8b_701ce71031efrow1_col2\" class=\"data row1 col2\" >11500</td> \n",
       "        <td id=\"T_fef8fa36_e590_11e9_bd8b_701ce71031efrow1_col3\" class=\"data row1 col3\" >20000</td> \n",
       "        <td id=\"T_fef8fa36_e590_11e9_bd8b_701ce71031efrow1_col4\" class=\"data row1 col4\" >45000</td> \n",
       "        <td id=\"T_fef8fa36_e590_11e9_bd8b_701ce71031efrow1_col5\" class=\"data row1 col5\" >19267</td> \n",
       "        <td id=\"T_fef8fa36_e590_11e9_bd8b_701ce71031efrow1_col6\" class=\"data row1 col6\" >12.80%</td> \n",
       "    </tr>    <tr> \n",
       "        <td id=\"T_fef8fa36_e590_11e9_bd8b_701ce71031efrow2_col0\" class=\"data row2 col0\" >3_5</td> \n",
       "        <td id=\"T_fef8fa36_e590_11e9_bd8b_701ce71031efrow2_col1\" class=\"data row2 col1\" >17215</td> \n",
       "        <td id=\"T_fef8fa36_e590_11e9_bd8b_701ce71031efrow2_col2\" class=\"data row2 col2\" >8500</td> \n",
       "        <td id=\"T_fef8fa36_e590_11e9_bd8b_701ce71031efrow2_col3\" class=\"data row2 col3\" >15000</td> \n",
       "        <td id=\"T_fef8fa36_e590_11e9_bd8b_701ce71031efrow2_col4\" class=\"data row2 col4\" >37500</td> \n",
       "        <td id=\"T_fef8fa36_e590_11e9_bd8b_701ce71031efrow2_col5\" class=\"data row2 col5\" >45923</td> \n",
       "        <td id=\"T_fef8fa36_e590_11e9_bd8b_701ce71031efrow2_col6\" class=\"data row2 col6\" >30.51%</td> \n",
       "    </tr>    <tr> \n",
       "        <td id=\"T_fef8fa36_e590_11e9_bd8b_701ce71031efrow3_col0\" class=\"data row3 col0\" >no</td> \n",
       "        <td id=\"T_fef8fa36_e590_11e9_bd8b_701ce71031efrow3_col1\" class=\"data row3 col1\" >13634</td> \n",
       "        <td id=\"T_fef8fa36_e590_11e9_bd8b_701ce71031efrow3_col2\" class=\"data row3 col2\" >3500</td> \n",
       "        <td id=\"T_fef8fa36_e590_11e9_bd8b_701ce71031efrow3_col3\" class=\"data row3 col3\" >12500</td> \n",
       "        <td id=\"T_fef8fa36_e590_11e9_bd8b_701ce71031efrow3_col4\" class=\"data row3 col4\" >35000</td> \n",
       "        <td id=\"T_fef8fa36_e590_11e9_bd8b_701ce71031efrow3_col5\" class=\"data row3 col5\" >41878</td> \n",
       "        <td id=\"T_fef8fa36_e590_11e9_bd8b_701ce71031efrow3_col6\" class=\"data row3 col6\" >27.82%</td> \n",
       "    </tr>    <tr> \n",
       "        <td id=\"T_fef8fa36_e590_11e9_bd8b_701ce71031efrow4_col0\" class=\"data row4 col0\" >1_3</td> \n",
       "        <td id=\"T_fef8fa36_e590_11e9_bd8b_701ce71031efrow4_col1\" class=\"data row4 col1\" >12785</td> \n",
       "        <td id=\"T_fef8fa36_e590_11e9_bd8b_701ce71031efrow4_col2\" class=\"data row4 col2\" >5250</td> \n",
       "        <td id=\"T_fef8fa36_e590_11e9_bd8b_701ce71031efrow4_col3\" class=\"data row4 col3\" >11500</td> \n",
       "        <td id=\"T_fef8fa36_e590_11e9_bd8b_701ce71031efrow4_col4\" class=\"data row4 col4\" >30000</td> \n",
       "        <td id=\"T_fef8fa36_e590_11e9_bd8b_701ce71031efrow4_col5\" class=\"data row4 col5\" >43024</td> \n",
       "        <td id=\"T_fef8fa36_e590_11e9_bd8b_701ce71031efrow4_col6\" class=\"data row4 col6\" >28.58%</td> \n",
       "    </tr></tbody> \n",
       "</table> "
      ],
      "text/plain": [
       "<pandas.io.formats.style.Styler at 0x2532ca21ef0>"
      ]
     },
     "execution_count": 58,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data_experience=get_sub_stats_by_col(data, 'experience')\n",
    "apply_style(data_experience)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 59,
   "metadata": {},
   "outputs": [],
   "source": [
    "salary_we_10=data[data.experience=='10+'].monthly_salary\n",
    "salary_we_5_10=data[data.experience=='5_10'].monthly_salary\n",
    "salary_we_3_5=data[data.experience=='3_5'].monthly_salary\n",
    "salary_we_1_3=data[data.experience=='1_3'].monthly_salary\n",
    "salary_we_no=data[data.experience=='no'].monthly_salary"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 60,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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rcN7e4+K/E5DY7Z9fhSA7/rp8N7eo+jVYr2JCGT4lt0S7eGHH/b8Tm28spaU6i0a2m/fDsCx3bs3WvfNN9+kd+/eTYqroV5k71YSX375JQsXLtQvBErb45zz9QeMBP5P6L/5fV2m/r73ve+5VNx9991u5cqVUWUbNmxwGzZsaLQsHZ5//nm3evXqRsti3XLLLVHT7777btR8PProo+7RRx9ttH+/9dIldt4+/PBDN3v27Ca11XAZtPR8PPTQQ27btm2R6Q0bNiTtv6yszL377ruZD0ykiYB1zsc61vfuIefcIufcL0P/G/9t0VZg48aNbNy4sdGy5nLOsWbNGvr375+0LJ65c+dGTdfW1rJq1aq0xpdu8eata9euTJkypUntxS6DlrJv3z527drFaaedFik755xzGD9+fFbiEWlJberYwbJlywgEApxzzjlcf/313Hfffdx3331ceumlANxxxx2esunTp1NaWsoll1zC6NGjOXToEM45xo4dSyAQ4NJLL2XPnj2RPsI/4N7QU089xTXXXJOwzDnHmDFjuOCCC7j66quZPHlypF5xcXHk8a9+9SsmTZrEY489RnFxMTt37gTgjTfeYPDgwZx11lm8+eabPPbYYzz22GMArFq1iunTpwPwu9/9jkGDBlFaWsrnn3+ecDn94he/4KKLLuLCCy9k8+bNAMyePZuLLrqISy+9lG3btjF+/HiuueYa+vfvz9VXX82YMWOSzm9tbW1kpTp9+vRIggvH2q9fPz7++GO6dOnChx9+yOWXXx53GYT97W9/Y9CgQXz++edx29u7dy/f//73GThwINdff32k37vuuivyGdixYwcHDhygtLSU/v3788Mf/pB777030sf8+fO54YYbovptuDx3797NiBEjGDhwIJMmTYrUuf322xkwYAD/9m//lnAZHzhwgOHDhxMIBBg1ahSHDh2KOx/h+b/tttu47LLLIu/PH/7wh8j78vTTT7N//35Gjx5NIBDg5ptvBuDuu+/mySefjMx7+LGIH0mTg5k9EPq/0sxWhP5WmtmKlgkvvWpqaqiuruaqq66ipKSEKVOmMGXKFP70pz8BwS9abBnAwIEDefnll+nSpQuLFi1i9+7dbNq0iZdffpny8vKo5PDss89G9Xno0CHeeust+vTpk7Dsk08+4eOPP2b16tW8++67PPDAA3Hjv+WWW5g7dy7jx49n1apVnHzyyQCsXbuWJUuWMGXKFJ5//vmE89+9e3dWrlxJIBBg/vz5cets2rSJP//5z/zlL39h7ty5rFmzhr/+9a+sWrWKV199lfLycm6//XYAbr75Zo4++mjmzJnD+++/n3B+/Tj99NNZsmQJ559/PkuXLqVv374J63744YeMGTOGhQsXcvzxxyesM2HCBJYvX05tbS0fffQREP0ZWLFiBW+//Tbdu3fnz3/+MzU1Ndx5550A7Nmzhy+//JIuXbokjOPee+/l2muv5ZVXXmHPnj388Y9/BGDYsGG8+uqrbN68OeEodPPmzeTl5VFdXc3111/P3r17E/azevVqLrzwQpYsWQLANddcQ1VVFQDV1dVcfvnlzJs3j969e1NdXc2HH37Ipk2bGDduHL/73e8AWLJkCSNHjkzYh0ispMnBOTc59H+Qc25w6G+Qc25wy4SXXuPGjQPgtNNO48svv/T9uu9973sA9OnTh9raWjp16sT48eP5/ve/z6OPPppwBQXw29/+NmqrOl7Zcccdx8GDB+nfv7+nrh/XXXcdBQUFcefrwIEDkcfh3Tx9+/bl73//e9y23n77bfr16xepP27cON566y3OO+88zIwLLriAt956C4DCwkKOOuooCgsLycvLSzi/yYTj69u3L0899RTDhg3j6aefjizzeH7zm9/QvXt3tm3blrC9goICHnnkEcaMGcPu3bsj5bGfgW7durF+/XoCgQC33HJLpJ2HH36YH/3oR0lj37x5c2SZ9u/fP7Jc/Cznvn370rt3b4YOHcqSJUs47rjj4s4HQO/evaNGpL169WL79u189tlnnHjiibRv35533nmH5557juLiYv7xj3/wwQcfcMYZZ/D555+zatUqevfuTbt27ZLOj0hDbWq3Uvv27aOm27Vrx/79+wHCB93jlq1ZswaADRs2UFRUxPvvv0+nTp1YsmQJ3bp184wWwg4ePMj7779Pz549k5atWbOGUaNG8frrr3PrrbcmnYd48cXO19FHHx3Z5RTewgRYv349EBwdFBYWxm3/zDPPjNR79dVXGTt2LGeddRZr167FOcfq1av5zne+43t+42kYX3hr+9xzz2XFihUMGTKEJUuWJB05lJeX8+CDD1JeXp6wvfnz5zN69GgWLlwYtXxil9Uf//hHysvLee211yJJbefOnRQUFNCxY8ek8/Gd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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "\n",
    "order=['10+','5_10','3_5','1_3']\n",
    "sns.boxplot(y='experience',x='monthly_salary',order=order,data=data[data.experience.isin(order)], orient='h')\n",
    "plt.annotate('https://github.com/juwikuang/job_survey', xy=(1.5,1.5), xytext=(1.55, 1.55))\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 公司 Company"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 公司性质 Company Type"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 61,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<style  type=\"text/css\" >\n",
       "</style>  \n",
       "<table id=\"T_006b1f9c_e591_11e9_81b1_701ce71031ef\" > \n",
       "<thead>    <tr> \n",
       "        <th class=\"col_heading level0 col0\" >company_type</th> \n",
       "        <th class=\"col_heading level0 col1\" >salary_mean</th> \n",
       "        <th class=\"col_heading level0 col2\" >salary_95_min</th> \n",
       "        <th class=\"col_heading level0 col3\" >salary_median</th> \n",
       "        <th class=\"col_heading level0 col4\" >salary_95_max</th> \n",
       "        <th class=\"col_heading level0 col5\" >head_count</th> \n",
       "        <th class=\"col_heading level0 col6\" >percentage</th> \n",
       "    </tr></thead> \n",
       "<tbody>    <tr> \n",
       "        <td id=\"T_006b1f9c_e591_11e9_81b1_701ce71031efrow0_col0\" class=\"data row0 col0\" >事业单位</td> \n",
       "        <td id=\"T_006b1f9c_e591_11e9_81b1_701ce71031efrow0_col1\" class=\"data row0 col1\" >21660</td> \n",
       "        <td id=\"T_006b1f9c_e591_11e9_81b1_701ce71031efrow0_col2\" class=\"data row0 col2\" >3345</td> \n",
       "        <td id=\"T_006b1f9c_e591_11e9_81b1_701ce71031efrow0_col3\" class=\"data row0 col3\" >17500</td> \n",
       "        <td id=\"T_006b1f9c_e591_11e9_81b1_701ce71031efrow0_col4\" class=\"data row0 col4\" >60000</td> \n",
       "        <td id=\"T_006b1f9c_e591_11e9_81b1_701ce71031efrow0_col5\" class=\"data row0 col5\" >1149</td> \n",
       "        <td id=\"T_006b1f9c_e591_11e9_81b1_701ce71031efrow0_col6\" class=\"data row0 col6\" >0.76%</td> \n",
       "    </tr>    <tr> \n",
       "        <td id=\"T_006b1f9c_e591_11e9_81b1_701ce71031efrow1_col0\" class=\"data row1 col0\" >外资（欧美）</td> \n",
       "        <td id=\"T_006b1f9c_e591_11e9_81b1_701ce71031efrow1_col1\" class=\"data row1 col1\" >18426</td> \n",
       "        <td id=\"T_006b1f9c_e591_11e9_81b1_701ce71031efrow1_col2\" class=\"data row1 col2\" >6000</td> \n",
       "        <td id=\"T_006b1f9c_e591_11e9_81b1_701ce71031efrow1_col3\" class=\"data row1 col3\" >17500</td> \n",
       "        <td id=\"T_006b1f9c_e591_11e9_81b1_701ce71031efrow1_col4\" class=\"data row1 col4\" >42312</td> \n",
       "        <td id=\"T_006b1f9c_e591_11e9_81b1_701ce71031efrow1_col5\" class=\"data row1 col5\" >7629</td> \n",
       "        <td id=\"T_006b1f9c_e591_11e9_81b1_701ce71031efrow1_col6\" class=\"data row1 col6\" >5.07%</td> \n",
       "    </tr>    <tr> \n",
       "        <td id=\"T_006b1f9c_e591_11e9_81b1_701ce71031efrow2_col0\" class=\"data row2 col0\" >合资</td> \n",
       "        <td id=\"T_006b1f9c_e591_11e9_81b1_701ce71031efrow2_col1\" class=\"data row2 col1\" >15970</td> \n",
       "        <td id=\"T_006b1f9c_e591_11e9_81b1_701ce71031efrow2_col2\" class=\"data row2 col2\" >6250</td> \n",
       "        <td id=\"T_006b1f9c_e591_11e9_81b1_701ce71031efrow2_col3\" class=\"data row2 col3\" >14000</td> \n",
       "        <td id=\"T_006b1f9c_e591_11e9_81b1_701ce71031efrow2_col4\" class=\"data row2 col4\" >35000</td> \n",
       "        <td id=\"T_006b1f9c_e591_11e9_81b1_701ce71031efrow2_col5\" class=\"data row2 col5\" >13944</td> \n",
       "        <td id=\"T_006b1f9c_e591_11e9_81b1_701ce71031efrow2_col6\" class=\"data row2 col6\" >9.26%</td> \n",
       "    </tr>    <tr> \n",
       "        <td id=\"T_006b1f9c_e591_11e9_81b1_701ce71031efrow3_col0\" class=\"data row3 col0\" >民营公司</td> \n",
       "        <td id=\"T_006b1f9c_e591_11e9_81b1_701ce71031efrow3_col1\" class=\"data row3 col1\" >15493</td> \n",
       "        <td id=\"T_006b1f9c_e591_11e9_81b1_701ce71031efrow3_col2\" class=\"data row3 col2\" >4500</td> \n",
       "        <td id=\"T_006b1f9c_e591_11e9_81b1_701ce71031efrow3_col3\" class=\"data row3 col3\" >13000</td> \n",
       "        <td id=\"T_006b1f9c_e591_11e9_81b1_701ce71031efrow3_col4\" class=\"data row3 col4\" >37500</td> \n",
       "        <td id=\"T_006b1f9c_e591_11e9_81b1_701ce71031efrow3_col5\" class=\"data row3 col5\" >109909</td> \n",
       "        <td id=\"T_006b1f9c_e591_11e9_81b1_701ce71031efrow3_col6\" class=\"data row3 col6\" >73.02%</td> \n",
       "    </tr>    <tr> \n",
       "        <td id=\"T_006b1f9c_e591_11e9_81b1_701ce71031efrow4_col0\" class=\"data row4 col0\" >外资（非欧美）</td> \n",
       "        <td id=\"T_006b1f9c_e591_11e9_81b1_701ce71031efrow4_col1\" class=\"data row4 col1\" >15376</td> \n",
       "        <td id=\"T_006b1f9c_e591_11e9_81b1_701ce71031efrow4_col2\" class=\"data row4 col2\" >5250</td> \n",
       "        <td id=\"T_006b1f9c_e591_11e9_81b1_701ce71031efrow4_col3\" class=\"data row4 col3\" >13000</td> \n",
       "        <td id=\"T_006b1f9c_e591_11e9_81b1_701ce71031efrow4_col4\" class=\"data row4 col4\" >35000</td> \n",
       "        <td id=\"T_006b1f9c_e591_11e9_81b1_701ce71031efrow4_col5\" class=\"data row4 col5\" >8138</td> \n",
       "        <td id=\"T_006b1f9c_e591_11e9_81b1_701ce71031efrow4_col6\" class=\"data row4 col6\" >5.41%</td> \n",
       "    </tr>    <tr> \n",
       "        <td id=\"T_006b1f9c_e591_11e9_81b1_701ce71031efrow5_col0\" class=\"data row5 col0\" >国企</td> \n",
       "        <td id=\"T_006b1f9c_e591_11e9_81b1_701ce71031efrow5_col1\" class=\"data row5 col1\" >14805</td> \n",
       "        <td id=\"T_006b1f9c_e591_11e9_81b1_701ce71031efrow5_col2\" class=\"data row5 col2\" >3750</td> \n",
       "        <td id=\"T_006b1f9c_e591_11e9_81b1_701ce71031efrow5_col3\" class=\"data row5 col3\" >12500</td> \n",
       "        <td id=\"T_006b1f9c_e591_11e9_81b1_701ce71031efrow5_col4\" class=\"data row5 col4\" >32500</td> \n",
       "        <td id=\"T_006b1f9c_e591_11e9_81b1_701ce71031efrow5_col5\" class=\"data row5 col5\" >9339</td> \n",
       "        <td id=\"T_006b1f9c_e591_11e9_81b1_701ce71031efrow5_col6\" class=\"data row5 col6\" >6.20%</td> \n",
       "    </tr>    <tr> \n",
       "        <td id=\"T_006b1f9c_e591_11e9_81b1_701ce71031efrow6_col0\" class=\"data row6 col0\" >外企代表处</td> \n",
       "        <td id=\"T_006b1f9c_e591_11e9_81b1_701ce71031efrow6_col1\" class=\"data row6 col1\" >13190</td> \n",
       "        <td id=\"T_006b1f9c_e591_11e9_81b1_701ce71031efrow6_col2\" class=\"data row6 col2\" >4364</td> \n",
       "        <td id=\"T_006b1f9c_e591_11e9_81b1_701ce71031efrow6_col3\" class=\"data row6 col3\" >12500</td> \n",
       "        <td id=\"T_006b1f9c_e591_11e9_81b1_701ce71031efrow6_col4\" class=\"data row6 col4\" >35000</td> \n",
       "        <td id=\"T_006b1f9c_e591_11e9_81b1_701ce71031efrow6_col5\" class=\"data row6 col5\" >117</td> \n",
       "        <td id=\"T_006b1f9c_e591_11e9_81b1_701ce71031efrow6_col6\" class=\"data row6 col6\" >0.08%</td> \n",
       "    </tr>    <tr> \n",
       "        <td id=\"T_006b1f9c_e591_11e9_81b1_701ce71031efrow7_col0\" class=\"data row7 col0\" >非营利组织</td> \n",
       "        <td id=\"T_006b1f9c_e591_11e9_81b1_701ce71031efrow7_col1\" class=\"data row7 col1\" >10821</td> \n",
       "        <td id=\"T_006b1f9c_e591_11e9_81b1_701ce71031efrow7_col2\" class=\"data row7 col2\" >5279</td> \n",
       "        <td id=\"T_006b1f9c_e591_11e9_81b1_701ce71031efrow7_col3\" class=\"data row7 col3\" >10937</td> \n",
       "        <td id=\"T_006b1f9c_e591_11e9_81b1_701ce71031efrow7_col4\" class=\"data row7 col4\" >17500</td> \n",
       "        <td id=\"T_006b1f9c_e591_11e9_81b1_701ce71031efrow7_col5\" class=\"data row7 col5\" >114</td> \n",
       "        <td id=\"T_006b1f9c_e591_11e9_81b1_701ce71031efrow7_col6\" class=\"data row7 col6\" >0.08%</td> \n",
       "    </tr>    <tr> \n",
       "        <td id=\"T_006b1f9c_e591_11e9_81b1_701ce71031efrow8_col0\" class=\"data row8 col0\" >政府机关</td> \n",
       "        <td id=\"T_006b1f9c_e591_11e9_81b1_701ce71031efrow8_col1\" class=\"data row8 col1\" >8745</td> \n",
       "        <td id=\"T_006b1f9c_e591_11e9_81b1_701ce71031efrow8_col2\" class=\"data row8 col2\" >5379</td> \n",
       "        <td id=\"T_006b1f9c_e591_11e9_81b1_701ce71031efrow8_col3\" class=\"data row8 col3\" >7000</td> \n",
       "        <td id=\"T_006b1f9c_e591_11e9_81b1_701ce71031efrow8_col4\" class=\"data row8 col4\" >17500</td> \n",
       "        <td id=\"T_006b1f9c_e591_11e9_81b1_701ce71031efrow8_col5\" class=\"data row8 col5\" >181</td> \n",
       "        <td id=\"T_006b1f9c_e591_11e9_81b1_701ce71031efrow8_col6\" class=\"data row8 col6\" >0.12%</td> \n",
       "    </tr></tbody> \n",
       "</table> "
      ],
      "text/plain": [
       "<pandas.io.formats.style.Styler at 0x253257943c8>"
      ]
     },
     "execution_count": 61,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data_company_type=get_sub_stats_by_col(data,'company_type')\n",
    "apply_style(data_company_type)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "us_eu是欧美外企，startup是创业公司，listed是上市公司，state是国企，private是私企，foreign是非欧美外企，其他不足1000个样本的不管了。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 公司规模 Company Size"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 62,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<style  type=\"text/css\" >\n",
       "</style>  \n",
       "<table id=\"T_0138ecb4_e591_11e9_b4dc_701ce71031ef\" > \n",
       "<thead>    <tr> \n",
       "        <th class=\"col_heading level0 col0\" >company_size</th> \n",
       "        <th class=\"col_heading level0 col1\" >salary_mean</th> \n",
       "        <th class=\"col_heading level0 col2\" >salary_95_min</th> \n",
       "        <th class=\"col_heading level0 col3\" >salary_median</th> \n",
       "        <th class=\"col_heading level0 col4\" >salary_95_max</th> \n",
       "        <th class=\"col_heading level0 col5\" >head_count</th> \n",
       "        <th class=\"col_heading level0 col6\" >percentage</th> \n",
       "    </tr></thead> \n",
       "<tbody>    <tr> \n",
       "        <td id=\"T_0138ecb4_e591_11e9_b4dc_701ce71031efrow0_col0\" class=\"data row0 col0\" >10000+</td> \n",
       "        <td id=\"T_0138ecb4_e591_11e9_b4dc_701ce71031efrow0_col1\" class=\"data row0 col1\" >23455</td> \n",
       "        <td id=\"T_0138ecb4_e591_11e9_b4dc_701ce71031efrow0_col2\" class=\"data row0 col2\" >5250</td> \n",
       "        <td id=\"T_0138ecb4_e591_11e9_b4dc_701ce71031efrow0_col3\" class=\"data row0 col3\" >21500</td> \n",
       "        <td id=\"T_0138ecb4_e591_11e9_b4dc_701ce71031efrow0_col4\" class=\"data row0 col4\" >52500</td> \n",
       "        <td id=\"T_0138ecb4_e591_11e9_b4dc_701ce71031efrow0_col5\" class=\"data row0 col5\" >9185</td> \n",
       "        <td id=\"T_0138ecb4_e591_11e9_b4dc_701ce71031efrow0_col6\" class=\"data row0 col6\" >6.10%</td> \n",
       "    </tr>    <tr> \n",
       "        <td id=\"T_0138ecb4_e591_11e9_b4dc_701ce71031efrow1_col0\" class=\"data row1 col0\" >5000-10000</td> \n",
       "        <td id=\"T_0138ecb4_e591_11e9_b4dc_701ce71031efrow1_col1\" class=\"data row1 col1\" >17625</td> \n",
       "        <td id=\"T_0138ecb4_e591_11e9_b4dc_701ce71031efrow1_col2\" class=\"data row1 col2\" >6526</td> \n",
       "        <td id=\"T_0138ecb4_e591_11e9_b4dc_701ce71031efrow1_col3\" class=\"data row1 col3\" >15000</td> \n",
       "        <td id=\"T_0138ecb4_e591_11e9_b4dc_701ce71031efrow1_col4\" class=\"data row1 col4\" >45000</td> \n",
       "        <td id=\"T_0138ecb4_e591_11e9_b4dc_701ce71031efrow1_col5\" class=\"data row1 col5\" >3584</td> \n",
       "        <td id=\"T_0138ecb4_e591_11e9_b4dc_701ce71031efrow1_col6\" class=\"data row1 col6\" >2.38%</td> \n",
       "    </tr>    <tr> \n",
       "        <td id=\"T_0138ecb4_e591_11e9_b4dc_701ce71031efrow2_col0\" class=\"data row2 col0\" >1000-5000</td> \n",
       "        <td id=\"T_0138ecb4_e591_11e9_b4dc_701ce71031efrow2_col1\" class=\"data row2 col1\" >16764</td> \n",
       "        <td id=\"T_0138ecb4_e591_11e9_b4dc_701ce71031efrow2_col2\" class=\"data row2 col2\" >5000</td> \n",
       "        <td id=\"T_0138ecb4_e591_11e9_b4dc_701ce71031efrow2_col3\" class=\"data row2 col3\" >15000</td> \n",
       "        <td id=\"T_0138ecb4_e591_11e9_b4dc_701ce71031efrow2_col4\" class=\"data row2 col4\" >37500</td> \n",
       "        <td id=\"T_0138ecb4_e591_11e9_b4dc_701ce71031efrow2_col5\" class=\"data row2 col5\" >18363</td> \n",
       "        <td id=\"T_0138ecb4_e591_11e9_b4dc_701ce71031efrow2_col6\" class=\"data row2 col6\" >12.20%</td> \n",
       "    </tr>    <tr> \n",
       "        <td id=\"T_0138ecb4_e591_11e9_b4dc_701ce71031efrow3_col0\" class=\"data row3 col0\" >500-1000</td> \n",
       "        <td id=\"T_0138ecb4_e591_11e9_b4dc_701ce71031efrow3_col1\" class=\"data row3 col1\" >16719</td> \n",
       "        <td id=\"T_0138ecb4_e591_11e9_b4dc_701ce71031efrow3_col2\" class=\"data row3 col2\" >5250</td> \n",
       "        <td id=\"T_0138ecb4_e591_11e9_b4dc_701ce71031efrow3_col3\" class=\"data row3 col3\" >15000</td> \n",
       "        <td id=\"T_0138ecb4_e591_11e9_b4dc_701ce71031efrow3_col4\" class=\"data row3 col4\" >37500</td> \n",
       "        <td id=\"T_0138ecb4_e591_11e9_b4dc_701ce71031efrow3_col5\" class=\"data row3 col5\" >15637</td> \n",
       "        <td id=\"T_0138ecb4_e591_11e9_b4dc_701ce71031efrow3_col6\" class=\"data row3 col6\" >10.39%</td> \n",
       "    </tr>    <tr> \n",
       "        <td id=\"T_0138ecb4_e591_11e9_b4dc_701ce71031efrow4_col0\" class=\"data row4 col0\" ></td> \n",
       "        <td id=\"T_0138ecb4_e591_11e9_b4dc_701ce71031efrow4_col1\" class=\"data row4 col1\" >15752</td> \n",
       "        <td id=\"T_0138ecb4_e591_11e9_b4dc_701ce71031efrow4_col2\" class=\"data row4 col2\" >5948</td> \n",
       "        <td id=\"T_0138ecb4_e591_11e9_b4dc_701ce71031efrow4_col3\" class=\"data row4 col3\" >12500</td> \n",
       "        <td id=\"T_0138ecb4_e591_11e9_b4dc_701ce71031efrow4_col4\" class=\"data row4 col4\" >50000</td> \n",
       "        <td id=\"T_0138ecb4_e591_11e9_b4dc_701ce71031efrow4_col5\" class=\"data row4 col5\" >1011</td> \n",
       "        <td id=\"T_0138ecb4_e591_11e9_b4dc_701ce71031efrow4_col6\" class=\"data row4 col6\" >0.67%</td> \n",
       "    </tr>    <tr> \n",
       "        <td id=\"T_0138ecb4_e591_11e9_b4dc_701ce71031efrow5_col0\" class=\"data row5 col0\" >150-500</td> \n",
       "        <td id=\"T_0138ecb4_e591_11e9_b4dc_701ce71031efrow5_col1\" class=\"data row5 col1\" >15250</td> \n",
       "        <td id=\"T_0138ecb4_e591_11e9_b4dc_701ce71031efrow5_col2\" class=\"data row5 col2\" >5250</td> \n",
       "        <td id=\"T_0138ecb4_e591_11e9_b4dc_701ce71031efrow5_col3\" class=\"data row5 col3\" >14000</td> \n",
       "        <td id=\"T_0138ecb4_e591_11e9_b4dc_701ce71031efrow5_col4\" class=\"data row5 col4\" >33659</td> \n",
       "        <td id=\"T_0138ecb4_e591_11e9_b4dc_701ce71031efrow5_col5\" class=\"data row5 col5\" >34579</td> \n",
       "        <td id=\"T_0138ecb4_e591_11e9_b4dc_701ce71031efrow5_col6\" class=\"data row5 col6\" >22.97%</td> \n",
       "    </tr>    <tr> \n",
       "        <td id=\"T_0138ecb4_e591_11e9_b4dc_701ce71031efrow6_col0\" class=\"data row6 col0\" >50-150</td> \n",
       "        <td id=\"T_0138ecb4_e591_11e9_b4dc_701ce71031efrow6_col1\" class=\"data row6 col1\" >14681</td> \n",
       "        <td id=\"T_0138ecb4_e591_11e9_b4dc_701ce71031efrow6_col2\" class=\"data row6 col2\" >4428</td> \n",
       "        <td id=\"T_0138ecb4_e591_11e9_b4dc_701ce71031efrow6_col3\" class=\"data row6 col3\" >12500</td> \n",
       "        <td id=\"T_0138ecb4_e591_11e9_b4dc_701ce71031efrow6_col4\" class=\"data row6 col4\" >35000</td> \n",
       "        <td id=\"T_0138ecb4_e591_11e9_b4dc_701ce71031efrow6_col5\" class=\"data row6 col5\" >44344</td> \n",
       "        <td id=\"T_0138ecb4_e591_11e9_b4dc_701ce71031efrow6_col6\" class=\"data row6 col6\" >29.46%</td> \n",
       "    </tr>    <tr> \n",
       "        <td id=\"T_0138ecb4_e591_11e9_b4dc_701ce71031efrow7_col0\" class=\"data row7 col0\" >50-</td> \n",
       "        <td id=\"T_0138ecb4_e591_11e9_b4dc_701ce71031efrow7_col1\" class=\"data row7 col1\" >13293</td> \n",
       "        <td id=\"T_0138ecb4_e591_11e9_b4dc_701ce71031efrow7_col2\" class=\"data row7 col2\" >3750</td> \n",
       "        <td id=\"T_0138ecb4_e591_11e9_b4dc_701ce71031efrow7_col3\" class=\"data row7 col3\" >12500</td> \n",
       "        <td id=\"T_0138ecb4_e591_11e9_b4dc_701ce71031efrow7_col4\" class=\"data row7 col4\" >30000</td> \n",
       "        <td id=\"T_0138ecb4_e591_11e9_b4dc_701ce71031efrow7_col5\" class=\"data row7 col5\" >23817</td> \n",
       "        <td id=\"T_0138ecb4_e591_11e9_b4dc_701ce71031efrow7_col6\" class=\"data row7 col6\" >15.82%</td> \n",
       "    </tr></tbody> \n",
       "</table> "
      ],
      "text/plain": [
       "<pandas.io.formats.style.Styler at 0x253257940f0>"
      ]
     },
     "execution_count": 62,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data_company_size=get_sub_stats_by_col(data,'company_size')\n",
    "apply_style(data_company_size)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "公司越大，工资越高"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 行业 Industry"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 63,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<style  type=\"text/css\" >\n",
       "</style>  \n",
       "<table id=\"T_01fca636_e591_11e9_b23e_701ce71031ef\" > \n",
       "<thead>    <tr> \n",
       "        <th class=\"col_heading level0 col0\" >industry</th> \n",
       "        <th class=\"col_heading level0 col1\" >salary_mean</th> \n",
       "        <th class=\"col_heading level0 col2\" >salary_95_min</th> \n",
       "        <th class=\"col_heading level0 col3\" >salary_median</th> \n",
       "        <th class=\"col_heading level0 col4\" >salary_95_max</th> \n",
       "        <th class=\"col_heading level0 col5\" >head_count</th> \n",
       "        <th class=\"col_heading level0 col6\" >percentage</th> \n",
       "    </tr></thead> \n",
       "<tbody>    <tr> \n",
       "        <td id=\"T_01fca636_e591_11e9_b23e_701ce71031efrow0_col0\" class=\"data row0 col0\" >finance</td> \n",
       "        <td id=\"T_01fca636_e591_11e9_b23e_701ce71031efrow0_col1\" class=\"data row0 col1\" >17212</td> \n",
       "        <td id=\"T_01fca636_e591_11e9_b23e_701ce71031efrow0_col2\" class=\"data row0 col2\" >5250</td> \n",
       "        <td id=\"T_01fca636_e591_11e9_b23e_701ce71031efrow0_col3\" class=\"data row0 col3\" >16000</td> \n",
       "        <td id=\"T_01fca636_e591_11e9_b23e_701ce71031efrow0_col4\" class=\"data row0 col4\" >35000</td> \n",
       "        <td id=\"T_01fca636_e591_11e9_b23e_701ce71031efrow0_col5\" class=\"data row0 col5\" >5377</td> \n",
       "        <td id=\"T_01fca636_e591_11e9_b23e_701ce71031efrow0_col6\" class=\"data row0 col6\" >3.57%</td> \n",
       "    </tr>    <tr> \n",
       "        <td id=\"T_01fca636_e591_11e9_b23e_701ce71031efrow1_col0\" class=\"data row1 col0\" >service</td> \n",
       "        <td id=\"T_01fca636_e591_11e9_b23e_701ce71031efrow1_col1\" class=\"data row1 col1\" >16368</td> \n",
       "        <td id=\"T_01fca636_e591_11e9_b23e_701ce71031efrow1_col2\" class=\"data row1 col2\" >3750</td> \n",
       "        <td id=\"T_01fca636_e591_11e9_b23e_701ce71031efrow1_col3\" class=\"data row1 col3\" >15000</td> \n",
       "        <td id=\"T_01fca636_e591_11e9_b23e_701ce71031efrow1_col4\" class=\"data row1 col4\" >40000</td> \n",
       "        <td id=\"T_01fca636_e591_11e9_b23e_701ce71031efrow1_col5\" class=\"data row1 col5\" >1105</td> \n",
       "        <td id=\"T_01fca636_e591_11e9_b23e_701ce71031efrow1_col6\" class=\"data row1 col6\" >0.73%</td> \n",
       "    </tr>    <tr> \n",
       "        <td id=\"T_01fca636_e591_11e9_b23e_701ce71031efrow2_col0\" class=\"data row2 col0\" >logistic</td> \n",
       "        <td id=\"T_01fca636_e591_11e9_b23e_701ce71031efrow2_col1\" class=\"data row2 col1\" >16051</td> \n",
       "        <td id=\"T_01fca636_e591_11e9_b23e_701ce71031efrow2_col2\" class=\"data row2 col2\" >5250</td> \n",
       "        <td id=\"T_01fca636_e591_11e9_b23e_701ce71031efrow2_col3\" class=\"data row2 col3\" >13000</td> \n",
       "        <td id=\"T_01fca636_e591_11e9_b23e_701ce71031efrow2_col4\" class=\"data row2 col4\" >35000</td> \n",
       "        <td id=\"T_01fca636_e591_11e9_b23e_701ce71031efrow2_col5\" class=\"data row2 col5\" >1755</td> \n",
       "        <td id=\"T_01fca636_e591_11e9_b23e_701ce71031efrow2_col6\" class=\"data row2 col6\" >1.17%</td> \n",
       "    </tr>    <tr> \n",
       "        <td id=\"T_01fca636_e591_11e9_b23e_701ce71031efrow3_col0\" class=\"data row3 col0\" >edu</td> \n",
       "        <td id=\"T_01fca636_e591_11e9_b23e_701ce71031efrow3_col1\" class=\"data row3 col1\" >15754</td> \n",
       "        <td id=\"T_01fca636_e591_11e9_b23e_701ce71031efrow3_col2\" class=\"data row3 col2\" >5250</td> \n",
       "        <td id=\"T_01fca636_e591_11e9_b23e_701ce71031efrow3_col3\" class=\"data row3 col3\" >13000</td> \n",
       "        <td id=\"T_01fca636_e591_11e9_b23e_701ce71031efrow3_col4\" class=\"data row3 col4\" >37500</td> \n",
       "        <td id=\"T_01fca636_e591_11e9_b23e_701ce71031efrow3_col5\" class=\"data row3 col5\" >8841</td> \n",
       "        <td id=\"T_01fca636_e591_11e9_b23e_701ce71031efrow3_col6\" class=\"data row3 col6\" >5.87%</td> \n",
       "    </tr>    <tr> \n",
       "        <td id=\"T_01fca636_e591_11e9_b23e_701ce71031efrow4_col0\" class=\"data row4 col0\" >computer</td> \n",
       "        <td id=\"T_01fca636_e591_11e9_b23e_701ce71031efrow4_col1\" class=\"data row4 col1\" >15730</td> \n",
       "        <td id=\"T_01fca636_e591_11e9_b23e_701ce71031efrow4_col2\" class=\"data row4 col2\" >4500</td> \n",
       "        <td id=\"T_01fca636_e591_11e9_b23e_701ce71031efrow4_col3\" class=\"data row4 col3\" >13500</td> \n",
       "        <td id=\"T_01fca636_e591_11e9_b23e_701ce71031efrow4_col4\" class=\"data row4 col4\" >37500</td> \n",
       "        <td id=\"T_01fca636_e591_11e9_b23e_701ce71031efrow4_col5\" class=\"data row4 col5\" >113905</td> \n",
       "        <td id=\"T_01fca636_e591_11e9_b23e_701ce71031efrow4_col6\" class=\"data row4 col6\" >75.67%</td> \n",
       "    </tr>    <tr> \n",
       "        <td id=\"T_01fca636_e591_11e9_b23e_701ce71031efrow5_col0\" class=\"data row5 col0\" >trade</td> \n",
       "        <td id=\"T_01fca636_e591_11e9_b23e_701ce71031efrow5_col1\" class=\"data row5 col1\" >15479</td> \n",
       "        <td id=\"T_01fca636_e591_11e9_b23e_701ce71031efrow5_col2\" class=\"data row5 col2\" >5250</td> \n",
       "        <td id=\"T_01fca636_e591_11e9_b23e_701ce71031efrow5_col3\" class=\"data row5 col3\" >14000</td> \n",
       "        <td id=\"T_01fca636_e591_11e9_b23e_701ce71031efrow5_col4\" class=\"data row5 col4\" >35000</td> \n",
       "        <td id=\"T_01fca636_e591_11e9_b23e_701ce71031efrow5_col5\" class=\"data row5 col5\" >8689</td> \n",
       "        <td id=\"T_01fca636_e591_11e9_b23e_701ce71031efrow5_col6\" class=\"data row5 col6\" >5.77%</td> \n",
       "    </tr>    <tr> \n",
       "        <td id=\"T_01fca636_e591_11e9_b23e_701ce71031efrow6_col0\" class=\"data row6 col0\" >ads</td> \n",
       "        <td id=\"T_01fca636_e591_11e9_b23e_701ce71031efrow6_col1\" class=\"data row6 col1\" >15081</td> \n",
       "        <td id=\"T_01fca636_e591_11e9_b23e_701ce71031efrow6_col2\" class=\"data row6 col2\" >5250</td> \n",
       "        <td id=\"T_01fca636_e591_11e9_b23e_701ce71031efrow6_col3\" class=\"data row6 col3\" >12500</td> \n",
       "        <td id=\"T_01fca636_e591_11e9_b23e_701ce71031efrow6_col4\" class=\"data row6 col4\" >35000</td> \n",
       "        <td id=\"T_01fca636_e591_11e9_b23e_701ce71031efrow6_col5\" class=\"data row6 col5\" >2174</td> \n",
       "        <td id=\"T_01fca636_e591_11e9_b23e_701ce71031efrow6_col6\" class=\"data row6 col6\" >1.44%</td> \n",
       "    </tr>    <tr> \n",
       "        <td id=\"T_01fca636_e591_11e9_b23e_701ce71031efrow7_col0\" class=\"data row7 col0\" >medical</td> \n",
       "        <td id=\"T_01fca636_e591_11e9_b23e_701ce71031efrow7_col1\" class=\"data row7 col1\" >14504</td> \n",
       "        <td id=\"T_01fca636_e591_11e9_b23e_701ce71031efrow7_col2\" class=\"data row7 col2\" >4482</td> \n",
       "        <td id=\"T_01fca636_e591_11e9_b23e_701ce71031efrow7_col3\" class=\"data row7 col3\" >13500</td> \n",
       "        <td id=\"T_01fca636_e591_11e9_b23e_701ce71031efrow7_col4\" class=\"data row7 col4\" >30000</td> \n",
       "        <td id=\"T_01fca636_e591_11e9_b23e_701ce71031efrow7_col5\" class=\"data row7 col5\" >3231</td> \n",
       "        <td id=\"T_01fca636_e591_11e9_b23e_701ce71031efrow7_col6\" class=\"data row7 col6\" >2.15%</td> \n",
       "    </tr>    <tr> \n",
       "        <td id=\"T_01fca636_e591_11e9_b23e_701ce71031efrow8_col0\" class=\"data row8 col0\" >realestate</td> \n",
       "        <td id=\"T_01fca636_e591_11e9_b23e_701ce71031efrow8_col1\" class=\"data row8 col1\" >13927</td> \n",
       "        <td id=\"T_01fca636_e591_11e9_b23e_701ce71031efrow8_col2\" class=\"data row8 col2\" >3750</td> \n",
       "        <td id=\"T_01fca636_e591_11e9_b23e_701ce71031efrow8_col3\" class=\"data row8 col3\" >12500</td> \n",
       "        <td id=\"T_01fca636_e591_11e9_b23e_701ce71031efrow8_col4\" class=\"data row8 col4\" >30000</td> \n",
       "        <td id=\"T_01fca636_e591_11e9_b23e_701ce71031efrow8_col5\" class=\"data row8 col5\" >2063</td> \n",
       "        <td id=\"T_01fca636_e591_11e9_b23e_701ce71031efrow8_col6\" class=\"data row8 col6\" >1.37%</td> \n",
       "    </tr>    <tr> \n",
       "        <td id=\"T_01fca636_e591_11e9_b23e_701ce71031efrow9_col0\" class=\"data row9 col0\" >energy</td> \n",
       "        <td id=\"T_01fca636_e591_11e9_b23e_701ce71031efrow9_col1\" class=\"data row9 col1\" >13815</td> \n",
       "        <td id=\"T_01fca636_e591_11e9_b23e_701ce71031efrow9_col2\" class=\"data row9 col2\" >5250</td> \n",
       "        <td id=\"T_01fca636_e591_11e9_b23e_701ce71031efrow9_col3\" class=\"data row9 col3\" >12500</td> \n",
       "        <td id=\"T_01fca636_e591_11e9_b23e_701ce71031efrow9_col4\" class=\"data row9 col4\" >25000</td> \n",
       "        <td id=\"T_01fca636_e591_11e9_b23e_701ce71031efrow9_col5\" class=\"data row9 col5\" >1474</td> \n",
       "        <td id=\"T_01fca636_e591_11e9_b23e_701ce71031efrow9_col6\" class=\"data row9 col6\" >0.98%</td> \n",
       "    </tr>    <tr> \n",
       "        <td id=\"T_01fca636_e591_11e9_b23e_701ce71031efrow10_col0\" class=\"data row10 col0\" >gov</td> \n",
       "        <td id=\"T_01fca636_e591_11e9_b23e_701ce71031efrow10_col1\" class=\"data row10 col1\" >13475</td> \n",
       "        <td id=\"T_01fca636_e591_11e9_b23e_701ce71031efrow10_col2\" class=\"data row10 col2\" >3750</td> \n",
       "        <td id=\"T_01fca636_e591_11e9_b23e_701ce71031efrow10_col3\" class=\"data row10 col3\" >12500</td> \n",
       "        <td id=\"T_01fca636_e591_11e9_b23e_701ce71031efrow10_col4\" class=\"data row10 col4\" >30000</td> \n",
       "        <td id=\"T_01fca636_e591_11e9_b23e_701ce71031efrow10_col5\" class=\"data row10 col5\" >1906</td> \n",
       "        <td id=\"T_01fca636_e591_11e9_b23e_701ce71031efrow10_col6\" class=\"data row10 col6\" >1.27%</td> \n",
       "    </tr></tbody> \n",
       "</table> "
      ],
      "text/plain": [
       "<pandas.io.formats.style.Styler at 0x2532fdf9a58>"
      ]
     },
     "execution_count": 63,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data_industry=get_sub_stats_by_col(data,'industry')\n",
    "apply_style(data_industry)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.1"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
